Symfony 3.3 - 尝试访问模板中的Flash消息时未捕获的Twig Runtime异常

时间:2017-07-11 20:43:33

标签: symfony twig

我有一个不能保证其中有消息的flashbag。如果它有消息,我想显示它,否则只需继续渲染模板。为此,我有以下Twig if块:

{% if app.flashes.has('success') %}
    {% set flashbag = app.flashes.get('success') %}
    {% set message = flashbag[0] %}
    <div id="flash">
        {{ message }}
    </div>
{% endif %}

第一行发生了未被捕获的Twig运行时异常,导致我相信我的语法错误。但是,我不确定正确的语法是什么。

1 个答案:

答案 0 :(得分:2)

尝试循环遍历它而不是设置变量,并省略if语句:

{% for message in app.flashes('success') %}
    <div class="flash">
        {{ message }}
    </div>
{% endfor %}

这也可能需要您注意:New in Symfony 3.3: Improved flash messages

相关问题