Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Lorsque j'appelle une page http://mondomaine/dir1/dir2/dir3/, Zend déduit par défaut que:
dir1 => module
dir2 =>controller
dir3 => action
Actuellement je dois donc avoir nécessairement un controller nommé Dir2Controller.php.
En fait, je souhaiterais pouvoir gérer moi même le controller et pouvoir appeler par exemple "AutredirController.php".
Avez vous une idée de la facon de procéder?
David
Hors ligne
Tout cela se passe dans le dispatcher, il faut le redéfinir et changer les règles d'inflection
Hors ligne
Bonjour et merci de ta réponse,
J'ai pas trouvé d'exemple de redéfinition de règles d'inflexion dans le dispatcher.
Alors, j'ai trouvé un exemple (qui fonctionne on dirait) avec du reroutage et j'aimerais savoir ce que tu en penses, si c'est correct? :
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
$frontController = Zend_Controller_Front::getInstance();
$router = new Zend_Controller_Router_Rewrite();
$cmtRoute = new Zend_Controller_Router_Route(
"/:module/:controller/:action",
array( "controller"=>"nouveaucontroller",
"action"=>"index"
)
);
$router->addRoute("nouvelleroute",$cmtRoute);
$frontController->setRouter($router);
Hors ligne
Je ne suis pas sur, mais ton code indique que le controller vaut par défaut nouveaucontroller si :controller n'est pas spécifié.
Perso, j'essairai qqchose comme ca :
$cmtRoute = new Zend_Controller_Router_Route( "/:module/:action", array( "controller"=>"nouveaucontroller", "action"=>"index" ) );
Dernière modification par nORKy (17-09-2008 14:38:50)
Hors ligne