我正在使用 CakePHP 1.2 版(最新版)编写一个简单的 Web 应用程序,并且在显示来自 Session 帮助程序的 flash 消息时遇到问题。在我的布局中,存在以下代码:
<?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; ?>
期望的行为是,如果要显示一条 Flash 消息,则将其显示在 DOM 中的上述位置,以便按照我的意愿对其进行样式设置和定位。
问题是,如果有一个 flash 消息,CakePHP 会在开始<body>
标记之后立即呈现它。现在,它还将上述容器呈现在正确的位置,但根本没有将文本写入我想要的位置。
我尝试将输出缓冲区刷新到我视图中的变量中并回显它,但无济于事。我还读到一些人尝试使用命名键来指示他们想要显示的特定消息,但这在这里不合适,因为我想要显示的文本正在显示,只是在错误的位置。
任何帮助将不胜感激 - 谢谢!