如何防止此代码重复? - 树枝

时间:2012-09-18 12:14:49

标签: symfony twig

我在模板的很大一部分中使用了这段代码:

{% if app.session.hasFlash('error') %}
        <div class="error">
            {{ app.session.flash('error') }}
        </div>
{% endif %}

错误这个词正在改变。你能告诉我如何避免代码重复吗?

使用include或macro我只能更改div类,但是app.session.flash中的单词错误呢?这样做是否有意义,或者最好不要这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用“with”选项添加此选项。例如:

{% include 'AcmeDemoBundle:Tools:flash.html.twig' with {'flash':'error'} %}

然后在flash.html.twig中执行:

{% if app.session.hasFlash(flash) %}
        <div class="{{flash}}">
            {{ app.session.flash(flash) }}
        </div>
{% endif %}