Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-10-2009 00:53:29

sweety_des_isles
Nouveau membre
Date d'inscription: 08-12-2008
Messages: 8

Envoyer une variable à la vue depuis un controller plugin.

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.

Code:

<?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

 

#2 09-10-2009 08:43:32

sweety_des_isles
Nouveau membre
Date d'inscription: 08-12-2008
Messages: 8

Re: Envoyer une variable à la vue depuis un controller plugin.

J'ai fini par trouver :

Code:

    
        $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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages