Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour tout le monde!
Je suis actuellement en train de développer un site internet, cependant je débute à peine sur Zend et j'ai un problème avec mes gestions d'url...
Je souhaiterai accéder à mon application grâce à deux url:
monSite.dev/admin/param
et
monSite.dev/param
j'ai donc deux controllers 'IndexController' et 'AdminController' qui posséde chacun une action index et une vue associée qui s'apelle également index.phtml
je voudrais donc ne pas avoir a taper comme les adresses url suivantes:
monSite.dev/admin/index/param
et
monSite.dev/index/index/param
mais les deux adresses que j'ai indiqué ci-dessus.
J'ai regardé plusieurs tutoriels mais je ne comprend pas comment appliquer les exemples à mon cas... comment faire pour ajouter des paramétres dans mon adresse url et pour modifier cette url afin de ne pas faire apparaitre les controllers et les actions ou que le controller.
Quelles sont les différentes configurations que je dois mettre en place pour réaliser ce que je souhaite faire? Est-ce que je dois utiliser Zend_Controller_Router_Route_Regex? si oui pouvez-vous m'expliquer comment cette classe fonctionne car je n'arrive pas à m'en servir.
Si vous voulez plus d'explications n'hésitez pas à me demander.
Je vous remercie d'avance pour vos réponses.
Sébastien.
Hors ligne
11seb11 a écrit:
monSite.dev/admin/param
et
monSite.dev/param
Bonjour Sébastien,
Je ne comprend pas très bien ton problème mais je veut t'expliquer ces 2 liens:
1- monSite.dev/admin/param
=> Executer l'action "paramAction" dans la classe Controller "adminController"
2- monSite.dev/param
=> Execute l'action "indexaction" dans la classe Controller "paramController"
J'espere que ca t'aide
Bonne journée
Hors ligne
Merci pour ton aide!
Mais j'avais compris le mode de fonctionnement des controllers et des actions gérés par zend.
En faite ce que je voulais faire c'était que lorsque je tape l'url suivante :
monSite.dev/param
que celle-ci execute en faite l'action suivante:
monSite.dev/indexController/indexAction/param
de même pour la seconde url, que lorsque je rentre l'url suivante:
monSite.dev/param
que l'url: monSite.dev/adminController/indexAction/param s'execute!
Je te remercie quand même pour ton aide, mais en percévérant j'ai trouvé une solution en utilisant Zend_Controller_Router_Route_Regex qui permet de modifier (redéfinir) des urls dans l'index.php.
Voici le code que j'ai utilisé:
$frontController = Zend_Controller_Front::getInstance(); $route = new Zend_Controller_Router_Route_Regex('admin/(.+)',array('controller' => 'admin', 'action' => 'index'), array('1' => 'param'),'admin/index/%s'); $router = $frontController ->getRouter(); $router ->addRoute('admin',$route);
Hors ligne