如何过载FLASH MESSAGE默认的cakePHP

meo*_*hia 4 cakephp

对于$this->Session->setFlash('this is message','flash_error');您,只需要flash_error.ctp在elements文件夹中创建一个不同的外观.

但是有什么用$this->Session->setFlash('this is message')?如何修改标准布局?我不想用css或javascript修改它.

小智 13

Laheab的回答是对的.但您可以使用该AppController beforeRender功能覆盖它.在你app/app_controller.php写这个功能:

function beforeRender(){
    if ($this->Session->check('Message.flash')) {
        $flash = $this->Session->read('Message.flash');

        if ($flash['element'] == 'default') {
            $flash['element'] = 'flash_error';
            $this->Session->write('Message.flash', $flash);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它将使用'flash_error'覆盖'默认'flash元素.然后在app/views/elements创建flash_error.ctp

  • 谢谢你.我不得不修理一下.最后一行实际上应该是:$ this-> Session-> write('Message.flash',$ flash); (5认同)