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