Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut,
je voudrais avoir une persistance de données dans les vues.
Je chercher à avoir une variable qui serais disponible automatiquement dans toutes les vues parce que je l'aurais instancié dans un plugin.
<?php class My_Layout_Plugin extends Zend_Controller_Plugin_Abstract { public function preDispatch(Zend_Controller_Request_Abstract $request) { $layout = Zend_Layout::getMvcInstance(); $view = $layout->getView(); $view->whatever = 'foo'; } }
Que j'instancie via : Zend_Controller_Front::getInstance()->registerPlugin(new My_Layout_Plugin());
Donc en fait. Si je fais $this->whatever depuis le layout, ca passe. Mais si je fais $this->whatever depuis une vue, ca ne passe absolument pas !
C'est super bizarre. Je pensais que les deux se géraient ensemble.
A noter que si je fais un DUMP de $this dans une vue, il y a un endroit où je vois s'afficher "whatever", mais bon je n'arrive pas à y accéder.
Avez vous une idée ?
++
Hors ligne
J'ai fini par trouver :
$ViewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); $ViewRenderer->init(); $View = $ViewRenderer->view; $view->whatever = 'foo';
Et la ca marche correctement !
J'espère que cette méthode n'est pas trop couteuse niveau perf.
Ca ca ne marche pas.
Hors ligne
Pages: 1