Флэш сообщения

Установка одного сообщения

Yii::app()->user->setFlash('success', "Успешно сохранено!");

Проверка на наличие сообщения

if( Yii::app()->user->hasFlash('success') ) { // ... }

Вывод одного сообщения

if(Yii::app()->user->hasFlash('success')) { echo '<div>'.Yii::app()->user->getFlash('success').'</div>'; }

Установка множества сообщений

Yii::app()->user->setFlash('success', "Данные успешно сохранены!"); Yii::app()->user->setFlash('error', "Ошибка. Данные не были сохранены");

Вывод множества сообщений

$messages = Yii::app()->user->getFlashes(); if ($messages) { foreach($messages as $key => $message) { echo '<div class="flash-' . $key . '">' . $message . "</div>"; } }

После вызова getFlash() по-умолчанию хранимое сообщение удаляется. Если вам необходимо сохранить сообщение, то третий параметр должен быть выставлен в false.

echo Yii::app()->user->getFlash('success', null, false);

Автоматическое скрытие сообщения

Yii::app()->clientScript->registerScript( 'myHideEffect', '$("div[class^=flash-]").animate({opacity: 1.0}, 3000).fadeOut("slow");', CClientScript::POS_READY );