Флэш сообщения
Установка одного сообщения
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 );