Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
Je cherche à modifier le suffixe des contrôleurs, ie passer de "IndexController" à "IndexWebController". Savez-vous quelque chose à ce sujet ?
Merci à vous
Emilien
Dernière modification par etaque (17-11-2008 12:56:33)
Hors ligne
Hello,
Tu dois sous-classer le Dispatcher (méthode formatControllerName).
A+
Hors ligne
Au poil !
Merci.
Hors ligne
Oui on a patché le dispatcheur récemment, pour que son interface soit plus claire vis à vis des méthodes à proposer.
Fais toi plaiz ;-)
Hors ligne
Je remonte le sujet, car dans la suite de l'histoire je cherche à modifier le conportement de la méthode _translateSpec de ViewRenderer pour qu'il me vire le "-web" de "index-web/index.phtml".
Et le "-10" (nb de caractères de Controller) de cette ligne de code m'enbête (ligne 847 de ViewRenderer) :
$controller = substr($dispatcher->formatControllerName($request->getControllerName()), 0, -10);
Je suis preneur d'une solution élégante à ce problème, qui m'éviterait de surcharger le ViewRenderer, de c/c la méthode _translateSpec et de remplacer -10 par la bonne valeur...
merci
Hors ligne
Visiblement j'ai pris le problème dans le mauvais sens, mon intention originelle était d'éviter des collisions de nom de classes avec des contrôleurs fonctionnels, je vais plutôt regarder du côté des modules.
Hors ligne
Juste pour info :ca ne marche pas avec la methode setControllerName pour le 1er post ?
Pourquoi sous-classer le Dispatcher ?
Dernière modification par alien7 (28-11-2008 18:07:50)
Hors ligne
Ca ne marchait pas car ça impactait le nom des vues cherchées par le viewRenderer. Ca imposait de se trimballer le suffixe dans les répertoires de vues.
Pour info, voici comment je m'en suis tiré :
class My_Controller_Dispatcher_BackOffice extends Zend_Controller_Dispatcher_Standard { const PREFIX = 'MonNameSpace_'; public function classToFilename($class) { return parent::classToFilename(substr($class, strlen(self::PREFIX))); } public function getControllerClass(Zend_Controller_Request_Abstract $request) { return self::PREFIX . parent::getControllerClass($request); } }
Hors ligne
Pages: 1