cakephp自定义flash布局错误

cakephp custom flash layout error

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

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

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

success.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。 我在这里错过了什么?

有几个问题..

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

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

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

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

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

希望对您有所帮助!