У меня есть страница с несколькими разделами с формами, которые отправляются с той же страницы. Формы сворачиваются, чтобы сэкономить место, но я хочу условно держать их открытыми, если есть ошибка при представлении.CakePHP: Проверьте, установлено ли сообщение SPECIFIC flash
В мой контроллер, я установил своеобразный «ключ» (см location_key
ниже) для каждой формы, что позволяет мне повторить их в соответствующих местах:
В контроллере:
$this->Session->setFlash('You missed something...', 'element_name', array('class'=>'error'), 'location_key');
В вид:
$this->Session->flash('location_key')
Я пытаюсь понять, как проверить, если $this->Session->flash('location_key')
существует. Если я делаю это работает, но сбрасывает вспышки сообщение:
if ($this->Session->flash('location_key')) // = TRUE
//Do something
$this->Session->flash('location_key') // = FALSE (because it just got called)
Как я могу проверить на наличие этого флэш-сообщения, не заставляя его уйти?
Вы пробовали использовать http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html#SessionComponent::check? –
@MartinBean Я пытаюсь сделать это с помощью 'SessionComponent :: check()' и 'SessionComponent :: read()', но так падают, что все они возвращают false, потому что я не уверен, каким должен быть параметр. – emersonthis