Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je développe une appli web avec une zone backend.
J'aimerai pouvoir accéder à mon admin (soit mon module back) par une url de type : http://exemple.com/admin
J'ai donc déclaré cette route :
new Zend_Controller_Router_Route('admin/*', array( 'module' => 'back') );
Seulement le module back n'est pas du tout pris par defaut... Si je veux accéder à un controller de mon module back (par defaut), je ne peux pas taper http://exemple.com/admin/controller/action, il me prend controller comme un module (et me renvois sur mon module default ... pourquoi pas une erreur ???)
Je suis donc obligé de préciser le module ...
Et si je mets cette route :
new Zend_Controller_Router_Route('admin/:controller/:action/*', array( 'module' => 'back') );
Je ne peux plus accéder aux autres modules de mon appli ...
Même si ce n'est pas un problème bloquant pour le moment, need help !!
Merci !
EDIT :
En générant une erreur (http://exemple.com/fffsdf/ijtgj/iejerf), c'est ma home qui s'affiche ...
Je ne sais pas si cela pourrait avoir une incidence sur mon problème ci-dessus
Dernière modification par TeChn4K (29-07-2010 12:20:19)
Hors ligne
J'ai mis en place une solution temporaire qui consiste à écrire les routes pour tous mes modules :
$route = new Zend_Controller_Router_Route('administration/:controller/:action/*', array( 'module' => 'admin', 'controller' => 'index', 'action' => 'index' )); $route2 = new Zend_Controller_Router_Route('administration/module2/*', array( 'module' => 'module2' ));
Mais si je pouvais automatiser tout ça, ce serait super
Hors ligne
J'essayerai un code comme celui-ci :
$router->addDefaultRoutes()
->addRoute('admin', new Zend_Controller_Router_Route('admin/:controller/:action/*', array('module' => 'back')));
Il te faut deux routes au final : une spécifique pour l'admin, et la route par défaut de Zend pour les autres modules. C'est une pile LIFO.
Hors ligne
Merci Intiilapa, mais j'ai toujours le même problème, à savoir que je ne peux plus accéder à d'autres modules
Si je tape http://exemple.com/admin/login pour accéder au module login, il utilise le module backoffice et prend login pour un controller :
array ( 'controller' => 'login', 'module' => 'backoffice', 'action' => 'index' )
Au contraire, je voudrai :
http://exemple.com/admin/cont/act => module backoffice (par defaut car non précisé), controller cont et action act
http://exemple.com/admin/mod/cont/act => module mod, controller cont et action act
C'est peut être plus clair comme cela ?
Dernière modification par TeChn4K (30-07-2010 08:09:39)
Hors ligne
up
Hors ligne