php - 带有 if 子句的 Symfony2 session-flash 在 twig 中不起作用

标签 php symfony twig symfony-2.1

我尝试对设置的 session 闪存使用react,但总是得到其他路径

交响乐 2.1.3

Controller :

$this->get('session')->getFlashBag()->set('contactActionNoticeError', 'Message not sent');

查看(尝试“旧”和新样式)但我得到 bla2

{% if app.session.flashbag.has("contactActionNoticeError") or app.session.hasFlash("contactActionNoticeError") %}
    bla1
{% else %}
    bla2
{% endif %}

用这个显示所有闪光时:

{% for label, flashes in app.session.flashbag.all %}
    {% for flash in flashes %}
        {{ label }} - {{ flash }}
    {% endfor %}
{% endfor %}

我明白了:

contactActionNoticeError - Message not sent

最佳答案

获取flashbag内容然后看是否为空:

{% set contactActionNoticeError = app.session.flashbag.get("contactActionNoticeError") %}

{% if (contactActionNoticeError is not empty) %}
    bla1
{% else %}
    bla2
{% endif %}

您仍然可以显示错误(代码取自 documentation ):

{% for flashMessage in contactActionNoticeError %}
    <div>
        {{ flashMessage }}
    </div>
{% endfor %}

关于php - 带有 if 子句的 Symfony2 session-flash 在 twig 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692996/

相关文章:

php - 使用 PHP/MySQL 和选择框正确过滤

php - 如何在我的扩展 Twig 页面 (Symfony) 上使用变量?

php - 如何以 Twig 形式访问 $_POST?

java - 如何在android中使用文件发送参数

PHP 开关大小写默认

PHP 5.6.8 证书验证失败

xml - XML 中的 Doctrine 类继承

php - 如何在 Symfony 2 控制台命令中使用我的实体和实体管理器?

symfony - 使用 oAuth 2 和 FOSOAuthServerBundle 跳过授权页面

php - 使用 Twig 显示以哈希开头的对象属性