7

我有一个视图文件,它在不同的位置有两种形式,说,

一种形式在左上角,另一种在右下角。

成功提交表单后,将使用以下方式闪烁成功消息

$this->Session->setFlash();

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

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

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

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

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

4

3 回答 3

20

当您调用setFlash时,您可以提供一个键值。例如,

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

然后您可以打印每个表格上方的闪光灯。只有当指定的键有值时才会显示。

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

您可以在此处找到更多信息。

于 2013-02-08T04:42:06.053 回答
0

echo $this->Session->flash();从 default.ctp中删除

然后将其添加到不同部门的不同表格中

例如在 Form1

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

在 Form2 中

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

希望能帮助到你

于 2013-02-08T04:40:40.647 回答
0

你也可以这样做

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

在此之前,您需要像这样在控制器中上传闪存

$this->loadComponent('Flash');       
于 2018-01-31T07:35:45.253 回答