0

テンプレートの大部分でこのコードを使用します。

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

しかし、エラーという言葉は変化しています。コードの重複を避ける方法を教えてください。

インクルードまたはマクロを使用すると、div クラスのみを変更できますが、app.session.flash のエラーという単語はどうですか? そして、これを行うことに意味がありますか、それともそのままにしておく方がよいでしょうか?

4

1 に答える 1

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 %}
于 2012-09-18T12:18:39.210 に答える