Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour tout le monde,
J'essaie de créer un message flash pour ça, j'ai crée un helper DisplayFlashMessage pour récuperer les messages stocker dans le tableau de flashmessenger voici le helper :
<?php class Layouts_Helpers_DisplayFlashMessages extends Zend_View_Helper_Abstract { /** * Retourne une liste HTML des messages flash * * @return string */ public function displayFlashMessages() { $flash = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger'); if ($flash->count()) { return $this->view->htmlList( $flash->getMessages(), false, array('id' => 'messages') ); } else { return ''; } } }
et pour ajouter des message j'utilise la methode addMessage ainsi :
<?php class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { } public function newsletterAction() { $email = $this->_request->getPost('email'); if($this->_request->isPost()) { if($email != "") { $newsletters = new Application_Model_Newsletter(); $addNewsletter = $newsletters->add($email); if($addNewsletter) { $this->getHelper('FlashMessenger')->addMessage('Desormais vous etes inscrit au newsletter'); $this->_redirect('liens'); } else { $this->getHelper('FlashMessenger')->addMessage('Vous etes deja inscrit au newsletter'); $this->_redirect('index'); } } else { $this->getHelper('FlashMessenger')->addMessage('Vous etes deja inscrit au newsletter'); $this->_redirect('index'); } } } }
et pour afficher les message je fais ceci :
<!-- Affichage des FlashMessenger --> <?php if($this->displayFlashMessages()) : ?> <div id="flashMessage"> <?php echo $this->displayFlashMessages(); ?> </div> <?php endif; ?>
mais la méthode addMessage ajoute rien dans l'array de flashmessenger.
est-ce que quelqu'un à une idée ?
merci à tous
Hors ligne
Salut,
Je viens de terminer une petite série de helpers sur le sujet. Si ça peut t'aider quelques pistes :
Ton view.helperPath est défini correctement?
Pas de problème dans l'initialisation de ta session ?
Quand tu dits "addMessage ajoute rien dans l'array de flashmessenger", hasCurrentMessages() te renvoi t'il false AVANT ton redirect? ou bien hasMessages() te renvoi t'il false APRES ton redirect?
Hors ligne