Подтвердить что ты не робот

Приращение объявленной целочисленной переменной

Я пытаюсь сделать чередование зебры:

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

но я получаю ошибку:

Неожиданное имя тега "counter" (ожидающий закрывающий тег для тега "для" определенная рядом с линией 11)

Может кто-нибудь дать мне решение?

[EDIT]

Мое плохое решение так просто:

{% set counter = counter + 1 %}
4b9b3361

Ответ 1

Есть более простой способ сделать то, что вы хотите:

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

Смотрите docs для loop лакомства.

Ответ 2

Если вы хотите иметь полный контроль над html, вы можете попробовать следующее:

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

Вы можете прочитать его здесь: http://twig.sensiolabs.org/doc/tests/divisibleby.html

обратите внимание, что loop.index используется как "is-is", оно не относится к переменной, а скорее к скрытой индексации цикла for.