Написав Noumenal FlashMessenger View Helper Я должен быть в состоянии помочь. : -)
Чтобы ответить на ваш вопрос:
Добавление сообщений
Вы можете установить различные уровни сообщений, например, error
, warning
и т. Д. Путем передачи массива помощнику действий FlashMessenger вместо простой строки:
// ExampleController.php
$this->_helper->FlashMessenger(
array('error'=>'Sorry, could not complete your request.')
);
Помощник вида предназначен для распознавания этого.
Вывод сообщений
При выводе FlashMessages в макете есть необязательные параметры, которые вы можете передать, чтобы указать уровень сообщения по умолчанию (по умолчанию warning
) и шаблон для вашего сообщения.
Адаптируя свой фрагмент кода для учета различных уровней сообщений, вы можете достичь желаемого результата, сделав следующий вызов в макете:
// layout.phtml
$template = '<div class="ui-state-error ui-corner-all">
<p class="%s"><span class="ui-icon ui-icon-alert"></span>
<span class="flash-message">%s</span></p>
</div>';
echo $this->flashMessenger('error', $template);
(может оказаться, что лучше установить шаблон в качестве переменной представления, скажем, в вашем загрузчике.)
Делая это, помощник вида создаст для вас должным образом отформатированные флэш-сообщения.
Некоторые простые стили
При использовании CSS было бы достаточно места для надлежащего оформления сообщений. Например:
.alert {
color: red;
}
.alert .flash-message:before {
content: "<strong>Alert</strong> ";
}
.notice {
color:yellow;
}
.notice .flash-message:before {
content: "<strong>Notice</strong> ";
}
Я оставляю вас импровизировать ...
Я написал руководство по Zend Framework FlashMessenger и помощник по просмотру в моем блоге . Возможно, прочитайте это. Также, пожалуйста, сделайте напишите мне, чтобы сообщить о ваших трудностях - это поможет мне узнать, что мне нужно улучшить.
Надеюсь, это поможет.