Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour, je cherche à résoudre un petit problème de routes. Donc j'initialise mon routeur de cette manière.
$router = $this->_front->getRouter(); $config = new Zend_Config_Ini('routes.ini'); $router->addConfig($config, 'MyRoutes');
Ainsi j'ajoute les routes de mon fichier ini à mon front controller. Dans mon fichier de config j'ai une route simple.
MyRoutes.monmodule.route = "/monmodule/:value/:valuetierce" MyRoutes.monmodule.defaults.module = monmodule MyRoutes.monmodule.defaults.dateDebut = null MyRoutes.monmodule.defaults.dateFin = null MyRoutes.monmodule.reqs.value = "\d+-\d+" MyRoutes.monmodule.reqs.valuetierce = "\d"
Jusque là pas de problème si je tape l'url
"http://www.exemple.com/monmodule"
j'accède bien au bon module et à sa bonne vue. Cependant dans mon layout pour générer les urls j'utilise le view helper url ainsi.
$this->url(array( 'module' => 'monautremodule', 'action' => 'index', 'values' => $myvalue), false, true );
Lors que j'accède au module "monmodule" avec la route j'ai toutes mes urls qui se retrouvent transformées et remplacée par la route définis dans le routes.ini. Typiquement avec cela je m'attendrais à avoir une url du genre
"http://www.exemple.com/monautremodule/index/index/values/N"
ou N correspond à $myvalue. Mais j'obtiens
"http://www.exemple.com/monmodule"
L'une des solutions que j'ai serait de définir une autre route pour ce module là mais j'ai besoin qu'il soit géré par les routage par défault en fait les routes que j'ai mise en place ne serait que spécifique à quelques modules. Pour le moment seul les routes d'un module ont été spécifiées.
Si j'accède à mon module via l'url
http://www.exemple.com/monmodule/index/index/value/mavalue/valuetierce/mavaluetierce
alors l'url est bien générée comme il faudrait.
Auriez-vous une piste sur comment résoudre le problème.
Cordialement
Dernière modification par ashgenesis (28-07-2009 14:12:49)
Hors ligne
Bon ben c'est une connerie qui posait problème une mauvaise manière d'appeler le view helper url
je faisait un
$url = array( 'module' => 'monmodule', 'controller' => 'index', 'action' => 'index', 'mavalue' => 'toto'); echo $this->url($url, NULL, FALSE, FALSE);
et il fallait faire
$url = array( 'module' => 'monmodule', 'controller' => 'index', 'action' => 'index', 'mavalue' => 'toto'); echo {$this->url($url, 'default', FALSE, FALSE);
En fait il faut préciser la route à utiliser par défaut c'est pas très logique pour ma part mais bon on fera comme ça dorénavant
Hors ligne
Pages: 1