2014-09-08 1 views
0

J'ai une URL example.com/information/london. Quand quelqu'un appelle cette URL je veux appeler une information de contrôleur et sa méthode d'index. mais je veux passer slug comme jobs-in-londres, c'est-à-dire example.com/information/jobs-in-london comment puis-je obtenir cela en écrivant règle url dans config/main.php. Par exemple, je veux rediriger ma page example.com/information/london vers example.com/information/jobs-in-london mais je ne veux pas utiliser .htaccess Je veux y parvenir uniquement par les règles de routage url que j'ai essayé en écrivantRoutage de l'url Yii

'<_c:(information)>/<slug:london>'=>'information/index/jobs-in-london' 

mais cela ne marchera pas pour moi.

class InformationController extends Controller 
{ 


    public function actionIndex($slug) 
    { 

     CVarDumper::dump($slug,10,true); 
     exit; 

    } 





} 

Répondre

0

Votre question n'est pas claire. Vous pouvez signifier des éléments suivants:


Url:

example.com/information/london 
example.com/information/singapore 

Règle:

'information/<slug>' => 'information/index', 

Controller:

public function actionIndex($slug) 
{ 
    $slug = "jobs-in-".$slug; 

    var_dump($slug); 
} 

Résultat Slug:

jobs-in-london 
jobs-in-singapore 

Url:

example.com/information/jobs-in-london 
example.com/information/jobs-in-singapore 

Règle:

'information/<slug:jobs-in-.+>' => 'information/index', 

Controller:

public function actionIndex($slug) 
{ 
    var_dump($slug); 
} 

Résultat Slug:

jobs-in-london 
jobs-in-singapore 
+0

merci samuel pour votre réponse .... je veux actualy acheminer mon seule demande si je frappe cet exemple url/informations/Lodon je veux la limace doit être passé comme emploi-en-Londres dans d'autres mots je veux ajouter cette règle dans ma config information/londres => information/index/jobs-in-londres J'espère que vous avez compris ce que je veux dire –

0

Voici ce que vous devez faire exactement dans les routes:

'<controller:(information)>/<slug:>' => '<controller>/index' 

et voici comment ajouter la limace pendant que vous créez l'URL:

Yii::app()->createUrl('information/index', array('slug' => 'jobs-in-london')); 

et vérifiez ce qu'est la limace, ce que vous avez fait à la fonction est correcte.