Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous.
J'avais déjà posé la question il y a plusieurs mois maintenant mais depuis, le ZF à légèrement changé et les connaissances (compétences) des membres du forum aussi.
Je fais donc de nouveau appel à vous pour un problème de routage que je n'arrive pas à résoudre.
J'ai actuellement une application basique avec utulisation de module. Tout marche parfaitement mais je voudrais rajouter deux paramètres entre le nom de mon site et les noms des modules :
http://monsite.com/maLangue/monSport/mo … onAction/*
Comment mettre ça simplement en place. J'ai essayé de rajouter la ligne suivante dans mon fichier de configuration de router mais sans succés :
[routes] routes.default.route = "/:language/:sport/:module/:controller:/action/*" # ou routes.default.route = ":language/:sport/:module/:controller:/action/*"
J'ai le message d'erreur suivant :
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in /var/www/test/library/Zend/Controller/Dispatcher/Standard.php:242 Stack trace: #0 /var/www/test/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /var/www/test/library/Zend/Application/Bootstrap/Bootstrap.php(77): Zend_Controller_Front->dispatch() #2 /var/www/test/library/Zend/Application.php(358): Zend_Application_Bootstrap_Bootstrap->run() #3 /var/www/test/public/index.php(22): Zend_Application->run() #4 {main} thrown in /var/www/test/library/Zend/Controller/Dispatcher/Standard.php on line 242
Savez vous comment je peux faire ?
Merci d'avance.
Hors ligne
Personne ? Il manque quelques informations ?
Dernière modification par slaughter (20-12-2009 19:36:44)
Hors ligne
active le throwException du front controlleur. T'obtiendra plus d'informations sur l'erreur. Parce que la une exception est lancé, mais l'erreur que tu vois c'est parce qu'il ne trouve pas le controlleur Error
Bonne chance
Hors ligne
Essai ça dans ton Bootstrap.php et commente tes 2 lignes dans ton application.ini avec le ";" pour tester après correction de ErrorController :
protected function _initRoutes() { Zend_Loader::loadClass('Zend_Controller_Router_Rewrite'); $router = new Zend_Controller_Router_Rewrite(); $route = new Zend_Controller_Router_Route( "/:@language/:@sport/:@module/:@controller/:@action/*", array( "language" => "maLangue", "sport" => "monSport" "module" => "monModule", "controller" => "monController", "action" => "monAction" ) ); $frontController = Zend_Controller_Front::getInstance() ; $frontController->setRouter($router); }
Dernière modification par Flizer (29-12-2009 11:28:10)
Hors ligne
Je remarque sur ta ligne
routes.default.route = "/:language/:sport/:module/:controller:/action/*"
Que tu as une erreur de syntaxe : :/action au lieu de /:action je présume.
Hors ligne