2010-04-17 4 views
0

Avec les nouvelles classes Zend_Application/Zend_Application_Bootstrap, je suis confus quant à l'endroit où je devrais appliquer mes routes personnalisées. Par exemple, au moment où j'ai une route:Où devrais-je définir des itinéraires personnalisés dans mon application ZF 1.10?

protected function _initRouter() { 
    $router = new Zend_Controller_Router_Rewrite; 
    $route = new Zend_Controller_Router_Route('news/:id', 
     array('controller' => 'news', 'action' => 'view')); 
    $router->addRoute('postArchive', $route);   
} 

Cette méthode est dans mon Zend_Application_Bootstrap_Bootstrap et est géré sans aucun doute. La route est également appliquée dans $router. Comme je le vois, je pourrais faire deux choses mal - soit le mauvais endroit pour ajouter ces routes, ou ne pas ajouter au bon routeur. Quelqu'un peut-il me pointer dans la bonne direction avec cela?

Répondre

2

On dirait que vous n'êtes pas passer le routeur au contrôleur avant:

protected function _initRouter() 
{ 
    $this->bootstrap('frontController'); 
    $front = Zend_Controller_Front::getInstance(); // from singleton, for example 
    $router = $front->getRouter(); 
    $route = new Zend_Controller_Router_Route('news/:id', 
     array('controller' => 'news', 'action' => 'view')); 
    $router->addRoute('postArchive', $route); 

    return $router; 
} 
0

resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.www.route = « : module.domaine.tld " resources.router.routes.www.defaults.module =" default " resources.router.routes.www.chains.index.type =" Zend_Controller_Router_Route " resources.router.routes.www.chains .index.route = ": controller /: action/*" resources.router.routes.www.chains.index.defaults.controller = "index" ressources. router.routes.www.chains.index.defaults.action = « index »

Cette vue lignes dans le fichier application.ini dans la section d'amorçage a fait le travail pour moi ...

Questions connexes