web-dev-qa-db-ja.com

宣言された整数変数をインクリメントします

私はゼブラストライピングを試みます:

{% set counter = 0 %}
{% for entity in entities %}
  <tr class="{{ cycle(['odd', 'even'], counter) }}">
    {% counter++ %}

しかし、私はエラーが発生しています:

予期しないタグ名「counter」(11行目付近で定義された「for」タグの終了タグが必要です)

誰かが私に解決策を与えることができますか?

[編集]

私の悪い解決策はとても簡単です:

{% set counter = counter + 1 %}
31
Codium

あなたがしたいことをする簡単な方法があります:

{{ cycle(["even", "odd"], loop.index) }}

loopの特典については docs をご覧ください。

37
Maerlyn

HTMLを完全に制御したい場合は、これを試すことができます:

{% if loop.index is divisibleby(2) %}
    ...
{% endif %}

ここで読むことができます: http://twig.sensiolabs.org/doc/tests/divisibleby.html

ご了承ください loop.indexは「そのまま」使用され、forループの隠されたインデックスではなく、変数を参照しません。

5