Я пишу простое веб-приложение, использующее CakePHP версии 1.2 (самая последняя), и у меня возникла проблема с отображением флеш-сообщения от помощника Session. В моем макете существует следующий код:
<?php echo $this->renderElement('flash'); ?>
Который отображает следующий элемент:
<?php if($session->check('Message.flash')): ?>
<?php $class = isset($error) ? 'contentError' : 'contentSuccess'; ?>
<div class="contentBlockWrapper <?php echo $class; ?>">
<div class="contentBlock">
<div id="flashMessage" class="flash">
<?php $session->flash(); ?>
</div>
</div>
</div>
<?php endif; ?>
Желаемое поведение заключается в том, что, если есть отображаемое флэш-сообщение, оно должно отображаться в указанном выше месте в DOM, так что оно будет стилизовано и расположено так, как я хочу.
Проблема в том, что при наличии флеш-сообщения CakePHP отображает его сразу после открывающего тега <body>
. Теперь он также отображает контейнеры, описанные выше, в правильном месте, но просто не записывает текст там, где я хочу.
Я попытался сбросить буфер вывода в переменную в моем представлении и повторил это, но безрезультатно. Я также читал, что некоторые люди пытались использовать именованные ключи, чтобы указать конкретное сообщение, которое они хотят отобразить, но это здесь не подходит, потому что текст, который я хочу отобразить, отображается в неправильном месте.
Буду признателен за любую помощь - спасибо!