Salut à tous (et bonne année),

Je rencontre une erreur que j'avais résolu (mais je ne me rappelle plus ).

J'ai une aide de vue ici : Custom_Controller_Action_Helper_Messenger qui affiche les erreurs dans le helper flashMessenger.

Tout va bien si je l'utilise dans un controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 $this->view->fmessages = $this->_helper->Messenger->getMessages();
et dans une vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php if (count($this->fmessages)>=1) {?>
    <div class="alert-box error">
        <?php foreach ($this->fmessages as $i => $m) {
            echo '<span class="'.$m['class'].'">- '.$m['message']."</span><br>";
        }?>
        <a href="" class="close">&times;</a>
    </div>
<?php } ?>
Mais j'aimera utiliser ce helper dans mon layout et/ou dans un partial. Mais j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Notice: Trying to get property of non-object ... ... ... application/modules/frontoffice/layouts/layout.phtml on line 98 Fatal error: Call to a member function getMessages() on a non-object in  ... ... ...
Donc, il ne trouve pas le helper et/ou la méthode du helper. J'ai essayé plusieurs options sans succès, comme (dans la vue partial, ou dans le layout) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
//$messages= $this->view->getHelper('Messenger');
//$messages= $this->view->getHelper('Custom_Controller_Action_Helper_Messenger');
 
$messages = $this->_helper->Messenger->getMessages();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
protected function _initActionHelpers() {
   ...     
 
  // Messenger
  Zend_Controller_Action_HelperBroker::addHelper(new Custom_Controller_Action_Helper_Messenger());
 
  ...
}
Une idée ?

Fabrice