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>
希望对您有所帮助!
我已经查看了 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>
希望对您有所帮助!