Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
J'ai créé un petit plugin, pour tester ça, en fait j'ai repris le modèle de la doc, et j'ai la trace de toutes les méthodes, sauf routeStartup..
L'affichage se fait dans un layout.
Quelqu'un a une idée sur ce qui peut causer ça ?
Le plugin :
class Connecte extends Zend_Controller_Plugin_Abstract { public function routeStartup(Zend_Controller_Request_Abstract $request) { $this->getResponse()->appendBody("<p>routeStartup() called</p>\n"); } public function routeShutdown(Zend_Controller_Request_Abstract $request) { $this->getResponse()->appendBody("<p>routeShutdown() called</p>\n"); } public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { $this->getResponse()->appendBody("<p>dispatchLoopStartup() called</p>\n"); } public function preDispatch(Zend_Controller_Request_Abstract $request) { $this->getResponse()->appendBody("<p>preDispatch() called</p>\n"); } public function postDispatch(Zend_Controller_Request_Abstract $request) { $this->getResponse()->appendBody("<p>postDispatch() called</p>\n"); } public function dispatchLoopShutdown() { $this->getResponse()->appendBody("<p>dispatchLoopShutdown() called</p>\n"); } }
Merci...
Hors ligne
Le layout, ca représente toute ta page, donc, forcément, ca apparait dans le layout
De plus, je crois que ce qui est envoyé "intentionnellement" (via echo par ex:) est capturé (ob_start) et réinjecter dans la vue
Hors ligne
Hello,
Chez moi cela fonctionne comme prévu. "routeStartup() called" est bien dans mon body.
J'ai fait copier/coller de ton code.
A+
Hors ligne
Rien à faire, toujours pas de routeStartup, je ne comprends pas.
Dans mon initializer j'ai :
public function initPlugins() { $front = Zend_Controller_Front::getInstance(); $front->registerPlugin(new Connecte()); }
vu que le plugin s'appelle Connecte...
Je ne vois vraiment pas où est le problème.
On dirait vraiment que routeStartup n'est pas du tout executé...
Dernière modification par Jean-Marc Rigade (12-11-2008 12:02:03)
Hors ligne
nORKy a écrit:
Le layout, ca représente toute ta page, donc, forcément, ca apparait dans le layout
De plus, je crois que ce qui est envoyé "intentionnellement" (via echo par ex:) est capturé (ob_start) et réinjecter dans la vue
Tu peux développer ?
Hors ligne
Hmmm... euh.. je suis pas très pédagogue moi
Le layout, c'est une sorte de template initiale, donc, n'importe quoi est forcément dans le layout.
Concernant ce que je dis avec ob_start, je viens de faire un test :
L'action que je demande est addAction()
Je place au début de l'action echo 'ZZ';
Mon action génère un formulaire ; la vue de cette action contient uniquement <?= $this->form;?>
Et bien mon 'ZZ' apparait après mon formulaire.
.
Donc, j'en déduis qu'il y a un ob_start qqpart avant le début de l'action et un ob_get_ après l'action (et réinjecter dans la vue, car mon footer apparait après mon ZZ)
Hors ligne