2008-09-24 71 views
0

解雇控制会话闪光()输出在CakePHP 1.2应用程序,我使用添加CakePHP中

<?php $session->flash();?> 

像“记录主编的”输出消息。它运作良好。

但是,我想添加一个名为“关闭”的链接,将淡出该消息。我知道如何构建链接,但我不知道如何插入flass消息的输出。

该闪光消息包装自己在DIV tag。我想将我的解雇代码插入该div,但我不知道如何。

回答

1

想通了这一点: 在你的布局文件夹中创建一个新的布局:

layouts/message.ctp 

在这种布局中,包括了通话输出内容:

<?php echo $content_for_layout; ?> 

然后,当你设置闪光消息,指定要使用的布局:

$this->Session->setFlash('Your record has been created! Wicked!','message'); 
+0

我不确定为什么我的php代码行没有出现。看起来像卫生洗涤剂中的一个错误。 – Justin 2008-09-24 15:59:05

1

要使用setflash功能。如果您将setflash传递给$ default的空字符串,它将不会将您的消息包装在div中,而只是按原样存储它。这样你可以显示你想要的任何标记,或者作为贾斯汀发布的,你可以使用另一个查看页面来显示你的消息,这样你就不会混淆你的视图和控制器。

0

默认的做法是在/ app/views/layouts中创建一个flash.ctp。这将覆盖您可以在/ cake/libs/view/layouts中找到的默认flash.ctp。所以你不需要使用额外的参数。

btw:这适用于所有CakePHP标准视图和布局。

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的,但我敢肯定你的想法。