2010-03-18 8 views
1

Ive a obtenu une url: http://dev.local/foodies/view?id=bluedanielroutage Zend, lance ressource introuvable

et Ive a obtenu mon bootstrap:

protected function _initRoute() { 
     $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'production'); 
     $router = new Zend_Controller_Router_Rewrite(); 
     $router->addConfig($config, 'resources'); 
    } 

et ive a également obtenu dans mes routes.ini:

[production] 
resources.router.routes.foodies_view.route = ":foodies/:id" 
resources.router.routes.foodies_view.defaults.module = "foodies" 
resources.router.routes.foodies_view.defaults.controller = "view" 
resources.router.routes.foodies_view.defaults.action = "index" 

alors http://dev.local/foodies/bluedaniel devrait fonctionner correctement?

je reçois un 'foodies: bluedaniel' ressources erreur ne trouve pas cependant avec cette configuration

--------------- Mise à jour --------- -------

au lieu de ce qui précède, j'ajouté ce qui suit au fichier application.ini:

resources.router.routes.myroute.route = "foodies/:id" 
resources.router.routes.myroute.defaults.module = "foodies" 
resources.router.routes.myroute.defaults.controller = "view" 
resources.router.routes.myroute.defaults.action = "index" 
resources.router.routes.myroute.defaults.id = "\w+" 

Cette méthode fonctionne maintenant bien que je préfère encore les routes dans leur fichier séparé ini si je peux l'aider.

+0

en fait avec cette méthode mise à jour, maintenant des liens dans le show zend_navigation sous la forme/foodies. Très étrange – bluedaniel

Répondre

1

Si quelqu'un est intéressé, je l'ai résolu le problème, maintenant dans mon bootstrap:

protected function _initRoutes() { 
    $router = Zend_Controller_Front::getInstance()->getRouter(); 
    $router->addRoute('userprofile', new Zend_Controller_Router_Route('user/:id/', array('module' => 'foodies', 'controller' => 'view', 'action' => 'index', 'id'=>'\w+'))); 
} 

Le problème est que dans mon navigation.xml je devais ajouter <route>default</route> à chaque nœud. La documentation de Zend peut être très très pauvre parfois.

Je devais aussi déclarer une variable par défaut pour l'identifiant sinon il ne le reconnaîtrait pas.

+0

puis dans l'aide de vue $ this-> url (array ('module' => 'foodies', 'controller' => 'view'), 'userprofile'); pour créer l'URL dans le format désiré. – bluedaniel

Questions connexes