CakePHP自定义flash消息

Cyc*_*one 5 customization message cakephp

通常, $this->Session->setFlash(__('My message.'));

将输出:

<div id="flashMessage" class="message">
    My message.
</div>
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变它,所以它会输出:

<p class="notification>
    My message.
</p>
Run Code Online (Sandbox Code Playgroud)

代替?

nIc*_*IcO 18

如果查看源代码,您将看到SessionComponent方法的第二个参数是元素的名称:

function setFlash($message, $element = 'default', $params = array(), $key = 'flash')
Run Code Online (Sandbox Code Playgroud)

您可以在视图/元素(或Cake2的Views/Elements)中创建一个名为'flash_notification.ctp'的文件

具有以下内容:

<p class="notification">
  <?php echo $message; ?>
</p>
Run Code Online (Sandbox Code Playgroud)

并使用

$this->Session->setFlash(__('My message.'), 'flash_notification');
Run Code Online (Sandbox Code Playgroud)