我在CakePHP书上读到,您可以使用元素定义自己的自定义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,然后在需要时还传递一个额外的类,具体取决于消息的类型,并显示不同的内容,例如仅一个段落或标题和一个段落。
谁能帮忙?谢谢
您可以有两个元素:
Myflash.ctp
<div id="flashMessage" class="message">
<div class="content">
<p><? echo $message ?></p>
</div>
</div>
公告.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');