我已经阅读了CakePHP Book,你可以使用一个元素定义你自己的自定义setFlash消息......但是我会把它放在元素中,我将如何传递不同的内容。
例如,两条不同的消息:
<div id="flashMessage" class="message">
<div class="content">
<p>Please correct the errors</p>
</div>
</div>
<div id="flashMessage" class="announcement message">
<div class="content">
<h3>Announcement</h3>
<p>You have earned a new achievement</p>
</div>
</div>
因为你可以看到我想要定义一个包装器div和一个内容div,然后如果需要依赖于消息类型并且还显示不同的内容(例如段落或标题),则还要传入一个额外的类。一段。
有人可以帮忙吗?感谢
答案 0 :(得分:4)
您可以有两个元素:
myflash.ctp
<div id="flashMessage" class="message">
<div class="content">
<p><? echo $message ?></p>
</div>
</div>
announcement.ctp
<div id="flashMessage" class="announcement message">
<div class="content">
<h3>Announcement</h3>
<p><? echo $message ?></p>
</div>
</div>
然后:
$this->Session->setFlash($message,'myflash or announcement');
或一个元素: myflash.ctp
<div id="flashMessage" class="<? echo (isset($myclass)?$myclass.' ':'') ?>message">
<div class="content">
<? echo (isset($header)?'<h3>' . $header.'</h3>':'') ?>
<p><? echo $message ?></p>
</div>
</div>
并在你的控制器上:
$this->Session->setFlash($message,'myflash',array('myclass'=>'announcement','header'=>'Announcement');