2010-04-17 6 views
0

J'ai cherché sur Google et je n'arrive pas à trouver quoi que ce soit qui explique bien l'utilisation du routeur ZF. J'ai lu la documentation sur le site, qui semble ne parler que de re-routage.Zend Framework Router Obtenir/module/VALUE/controller/action

Je suis en train de faire le format: /module/valeur/contrôleur/action donne/module/contrôleur/action qui passe sur la valeur en tant que paramètre

par exemple /store/johnsmithbigsale/home/newstuff acheminerait vers/store/home/newstuff en passant sur johnsmithbigsale en tant que valeur d'un paramètre avec un espace de noms masqué, par ex. nom du magasin.

Une aide serait utile!

Répondre

2

Vous pouvez utiliser Zend_Controller_Router_Route pour mapper vos parties d'url sur les modules, les contrôleurs, les actions et les paramètres qui peuvent être utilisés dans le contrôleur par $ this -> _ getParam ('varName'). Vous pouvez définir ces routes dans le fichier application.ini ou dans le bootstrap de l'application.

// custom city route 
$route = new Zend_Controller_Router_Route(
    'cities/:city', 
    array(
     'controller' => 'city', 
     'action'  => 'view' 
    ) 
); 
$this->addRoute('city', $route); 

// custom buy widgets route 
$route = new Zend_Controller_Router_Route_Regex(
    'buy_(.+)_widgets/([0-9]+)(.*)', 
    array(
     'controller' => 'widgets', 
     'action'  => 'view' 
    ), 
    array(
     1 => 'nothing', 
     2 => 'widget_id', 
     3 => 'vars' 
    ) 
); 
$this->addRoute('widgets', $route); 

La route regex est une sorte de spécifique à mon application, mais vous pouvez voir que chaque match peut être mappé sur un paramètre.

+0

J'ai posté un exemple de code. J'espère que ça aide ... – delsurf

+0

Doux, c'était logique! – cappuccino