我有一个视图文件,其中有两个表单位于不同的位置,例如
一个表格位于左角,另一个表格位于右角。
成功提交表单后,将使用
刷新成功消息$this->Session->setFlash();
问题是如果Form1被触发我想在Form1下显示消息flash,即在左下角。
如果Form2被触发,我想在Form2下显示消息flash,即在右上角。
但是现在两条消息都显示在顶部,因为我已经放入了布局
<?php echo $this->Session->flash(); ?>
我想改变这一点,但不知道如何实现这个......:'(
答案 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');