【问题标题】:cakephp custom flash layout errorcakephp自定义flash布局错误
【发布时间】:2015-07-12 20:35:14
【问题描述】:

我已经查看了 cakephp 2.5.4 的关于自定义 Flash 消息的文档和其他一些关于如何制作但它不起作用的教程

我在 elements 文件夹下有 error.ctp 和 success.ctp 错误.ctp

<div id="error-flash">
    <?php echo h($message); ?>
</div>

成功.ctp

<div id="success-flash">
    <?php echo h($message); ?>
 </div>

在控制器中我这样称呼它们

$this->Session->setFlash(__(' file successfully uploaded.','success',array('class'=>"flash_msg_ok")));

$this->Session->setFlash(__('Upload Failed','error',
                array("class" => "flash_msg_error")));

我的 chrome 开发者工具仍然显示生成的默认 flash。 它没有渲染元素或应用指定的类

我也试过了

$this->Session->setFlash('success','default',array('class'=> 'success'))

还是什么都没有。

值得注意的是,我正在为页面使用自定义布局和 css。 我在这里错过了什么?

【问题讨论】:

标签: cakephp flash-message


【解决方案1】:

有几个问题..

首先,您不小心将其他函数变量放入了翻译字符串中。您可以按如下方式修复调用(注意右括号移到消息字符串的末尾):

$this->Session->setFlash(__(' file successfully uploaded.'),'success',array('class'=>"flash_msg_ok"));

$this->Session->setFlash(__('Upload Failed'),'error',
            array("class" => "flash_msg_error"));

其次,您需要将该类添加到您的自定义错误元素文件中(cakephp 文档忽略了这一点!)。例如:

<div id="error-flash" class="<?php echo $class; ?>">
    <?php echo h($message); ?>
</div>

希望有帮助!

【讨论】:

  • 你拯救了我的一天..令人难以置信我无法发现错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
相关资源
最近更新 更多