FlashMessenger – Wiadomości typu info i error wyświetlane z poziomu layout

Dodanie wiadomości z poziomu kontrolera:

$this->_helper->flashMessenger->addMessage('Zapisano zmiany');//info
$this->_helper->flashMessenger->addMessage(
    array('error' => 'But error ccured')//error
);

Wersja skrócona:

$this->_helper->FlashMessenger('Zapisano zmiany');

Kod z poziomu layout-u:

Pobranie wywołań bez wymogu przekierowania

<?php
$flashMessanger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
$messages = array_merge(
    $flashMessanger->getMessages(),
    $flashMessanger->getCurrentMessages()
);
$flashMessanger->clearCurrentMessages();    
?>

Wyświetlenie wiadomości o danym typie z wykorzystaniem CSS jQuery UI

<?php foreach($messages as $data): ?>
<?php
    $data = (array) $data;
    $type = (string) key($data);
    $message = current($data);
 
    switch ($type){
        case 'error':
            $ui_state = 'error';
            $ui_icon = 'info';
            break;
 
        default:
            $ui_state = 'highlight';
            $ui_icon = 'info';
            break;
    }
?>
<div class="msg ui-state-<?php print $ui_state?> ui-corner-all">
    <p><span class="ui-icon ui-icon-<?php print $ui_icon?>"></span>
    <strong></strong><?php print $message?></p>
</div>
<?php endforeach; ?>