Cakephp - 在视图页面的不同位置显示flash消息

时间:2013-02-08 04:30:26

标签: php cakephp cakephp-2.0

我有一个视图文件,其中有两个表单位于不同的位置,例如

一个表格位于左角,另一个表格位于右角。

成功提交表单后,将使用

刷新成功消息
$this->Session->setFlash();

问题是如果Form1被触发我想在Form1下显示消息flash,即在左下角。

如果Form2被触发,我想在Form2下显示消息flash,即在右上角。

但是现在两条消息都显示在顶部,因为我已经放入了布局

<?php echo $this->Session->flash(); ?>

我想改变这一点,但不知道如何实现这个......:'(

3 个答案:

答案 0 :(得分:20)

当您致电setFlash时,您可以提供密钥值。例如,

$this->Session->setFlash('This message is for form 1.', 'default', array(), 'form1');

然后您可以在每张表格上方打印闪光灯。它只会显示指定的键是否有值。

<?php echo $this->Session->flash('form1') ?>

您可以找到更多信息here

答案 1 :(得分:0)

从default.ctp

中删除echo $this->Session->flash();

然后将其添加到不同部门的不同形式

例如 在Form1中

<div class="leftflash">
<?php echo $this->Session->flash();?>
</div>

在Form2中

<div class="rightflash">
<?php echo $this->Session->flash();?>
</div>

希望有所帮助

答案 2 :(得分:0)

你也可以这样做

<?php echo $this->Flash->render(); ?>    

之前你需要像这样在控制器上传闪光灯

$this->loadComponent('Flash');