如何在cakephp中检查flash消息集是否为空

时间:2016-12-21 06:47:48

标签: css cakephp model-view-controller flash-message cakephp-2.x

我有一个登录表单,我在控制器中设置无效登录的flash消息:

$this->Session->setFlash(__('Invalid username or password'));

并在ctp文件中显示如下信息:

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

div的CSS如下:

    #error {
    padding:10px;
    display:inline-block;
    margin-right: 18px;
    font-size:16px;
    font-weight:600;
    position:relative;
    top:20px;
    }

加载页面时,会显示空的Flash消息。 如何检查$this->Session->flash();是否为空并仅在不为空时显示div?

当消息为空时,页面加载时的flash消息如下所示:

When the message is empty flash message on page load it looks like this :

类似的方式,当设置消息时它看起来像这样:

Similar way it looks like this message is set:

1 个答案:

答案 0 :(得分:1)

试试这个:

使用错误提醒成功提醒等创建自定义元素...

<强> /View/Elements/error_alert.ctp

<!-- Example Bootstrap Error Alert -->
<div class="alert alert-danger">
    <button type="button" class="close" data-dismiss="alert">&times;</button>
    <strong><?php echo $message ?></strong>
</div>

<强> /View/Elements/success_alert.ctp

<!-- Example Bootstrap Succes Alert -->
<div class="alert alert-success">
    <button type="button" class="close" data-dismiss="alert">&times;</button>
    <strong><?php echo $message ?></strong>
</div>

观看次数中添加此项,仅在必须显示消息时显示

 <!-- It´s will work for all alert types (not only for error alerts) -->
<div class="col-md-12">
    <?php echo $this->Session->flash(); ?> 
</div>

如果你想使用一个在控制器中添加它:

成功提醒

$this->Session->setFlash('Success message!', 'success_alert');

错误提示

$this->Session->setFlash('Error message!', 'error_alert');