Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un petit problème avec les routes dans Zend Framework.
Mon Application comporte 4 Modules : Admin, Default, Annonceur et Partenaire.
Dans mon php.ini j'ai les routes suivantes :
;Resources.router.annonceur resources.router.routes.mod_annonceur.type = "Zend_Controller_Router_Route" resources.router.routes.mod_annonceur.route = "annonceur/:controller/:action" resources.router.routes.mod_annonceur.defaults.module = "annonceur" resources.router.routes.mod_annonceur.defaults.controller = "espace-perso" resources.router.routes.mod_annonceur.defaults.action = "index" resources.router.routes.mod_annonceur_param1.type = "Zend_Controller_Router_Route" resources.router.routes.mod_annonceur_param1.route = "annonceur/:controller/:action/:param1" resources.router.routes.mod_annonceur_param1.defaults.module = "annonceur" resources.router.routes.mod_annonceur_param1.defaults.controller = "index" ;Resources.router.partenaire resources.router.routes.mod_partenaire.type = "Zend_Controller_Router_Route" resources.router.routes.mod_partenaire.route = "partenaire/:controller/:action" resources.router.routes.mod_partenaire.defaults.module = "annonceur" resources.router.routes.mod_partenaire.defaults.controller = "espace-perso" resources.router.routes.mod_partenaire.defaults.action = "index" resources.router.routes.mod_partenaire_param1.route = "annonceur/:controller/:action/:param1" resources.router.routes.mod_partenaire_param1.defaults.module = "partenaire" resources.router.routes.mod_partenaire_param1.defaults.controller = "index"
(Les routes pour le modules default et admin fonctionnent nickel je ne les ai donc pas afficher ici).
Mon soucis se situe au niveau du module Annonceur, lorsque je fais un lien vers une action du module Annonceur, j'arrive sur une action comportant le même nom et se trouvant dans le même Controler mais dans le Module Partenaire.
<a href="<?php echo $this->url(array(' controller'=>'espace-perso', 'action'=>'detail-annonce', 'param1' =>$pub['annonce_element_id'] ) ,'mod_annonceur_param1', true); ?>"> <?php echo $pub['element_title'] ; ?> </a>
Pourquoi ce liens me renvoit'il vers une page se situant dans le Module Particulier ?
Si vous avez des idées, je suis preneuse.
Merci
Hors ligne
L'url généré a quel tête ?
Hors ligne
L'url généré est la suivante : http://localhost/ocpt/annonceur/espace-perso/detail-annonce/21.
Cela semble correcte mais pourtant lorsque je récupère le nom du module via le code suivant :
[lang=php]$request = Zend_Controller_Front::getInstance()->getRequest(); $request->module;
le module utilisé devient partenaire après avoir cliquer sur ce lien.
merci
Dernière modification par katsuya (04-10-2012 15:09:38)
Hors ligne
resources.router.routes.mod_partenaire_param1.route = "annonceur/:controller/:action/:param1"
Cette route est identique à "mod_annonceur_param1" la route ne peut donc pas être déterminé.
Dernière modification par shadypierre (04-10-2012 20:46:27)
Hors ligne