Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-04-2010 16:29:53

mehrshadpezeshk
Nouveau membre
Date d'inscription: 24-02-2010
Messages: 7

Probleme pour créer un FlashMessenger

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 :

Code:

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

Code:

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

Code:

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

 

#2 29-04-2010 12:41:46

FredT
Nouveau membre
Date d'inscription: 20-10-2007
Messages: 8

Re: Probleme pour créer un FlashMessenger

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

 

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