在CakePHP 1.2
应用中,我正在使用
<?php $session->flash();?>
输出“已编辑记录”等消息。它工作得很好。
但是,我想添加一个名为“Dismiss”的链接,它将淡出消息。我知道如何构建链接,但我不知道如何插入flass消息的输出。
Flash消息将自己包装在DIV tag
中。我想将我的解雇代码插入该div,但我不知道如何。
答案 0 :(得分:1)
想出来: 在layouts文件夹中创建一个新布局:
layouts/message.ctp
在该布局中,包括输出内容的调用:
<?php echo $content_for_layout; ?>
然后,当您设置flash消息时,请指定要使用的布局:
$this->Session->setFlash('Your record has been created! Wicked!','message');
答案 1 :(得分:1)
您想使用setflash功能。如果你传递setflash为$ default的空字符串,它将不会将你的消息包装在div中,只是按原样存储它。通过这种方式,您可以显示所需的任何标记,或者Justin发布后,您可以使用其他视图页面来显示消息,这样就不会混淆视图和控制器。
答案 2 :(得分:1)
您可以使用jQuery实现此目的:
$(document).ready(function() {
$("#flashMessage").each(function() {
$close = $("<span class='close'>Close</span>");
$close.click(function () {
$(this).parent().hide("slow");
});
$(this).append($close);
});
});
你需要用一点CSS来完善它,但我相信你明白了。
答案 3 :(得分:0)
默认的方法是在/ app / views / layouts中创建flash.ctp。这将覆盖您可以在/ cake / libs / view / layouts中找到的默认flash.ctp。所以你不需要使用额外的参数。
btw:这适用于所有CakePHP标准视图和布局。