In my controller, I have postDispatch for consolidating FlashMessenger messages:
public function postDispatch()
{
$messages = $this->_helper->getHelper ( 'FlashMessenger' )
->getMessages ();
if ( $this->_helper->getHelper ( 'FlashMessenger' )
->hasCurrentMessages () )
{
$messages = array_merge ( $messages, $this->_helper->getHelper ( 'FlashMessenger' )
->getCurrentMessages () );
$this->_helper->getHelper ( 'FlashMessenger' )
->clearCurrentMessages ();
}
$this->view->alert = $messages;
}
I want to do this in a controller plugin.
UPDATE: I understand why I need this - I want to send my flash messages to JSON when I call the JSON context. If messages are not added to the View object, I do not receive messages.
I managed to get the messages in an array, but I donβt know how to pass them to the view:
class Plugin_FlashMessenger extends Zend_Controller_Plugin_Abstract
{
public function postDispatch($request)
{
$flashmessenger = Zend_Controller_Action_HelperBroker::getStaticHelper ( 'FlashMessenger' );
$messages = $flashmessenger->getMessages ();
if ( $flashmessenger->hasCurrentMessages () )
{
$messages = array_merge ( $messages, $flashmessenger->getCurrentMessages () );
$flashmessenger->clearCurrentMessages ();
}
$this->view->alert = $messages;
}
}
Is a bonus question the right way to achieve this? Thank!
Corey source
share