Ответ 1
Есть более простой способ сделать то, что вы хотите:
{{ cycle(["even", "odd"], loop.index) }}
Смотрите docs для loop
лакомства.
Я пытаюсь сделать чередование зебры:
{% set counter = 0 %}
{% for entity in entities %}
<tr class="{{ cycle(['odd', 'even'], counter) }}">
{% counter++ %}
но я получаю ошибку:
Неожиданное имя тега "counter" (ожидающий закрывающий тег для тега "для" определенная рядом с линией 11)
Может кто-нибудь дать мне решение?
[EDIT]
Мое плохое решение так просто:
{% set counter = counter + 1 %}
Есть более простой способ сделать то, что вы хотите:
{{ cycle(["even", "odd"], loop.index) }}
Смотрите docs для loop
лакомства.
Если вы хотите иметь полный контроль над html, вы можете попробовать следующее:
{% if loop.index is divisibleby(2) %}
...
{% endif %}
Вы можете прочитать его здесь: http://twig.sensiolabs.org/doc/tests/divisibleby.html
обратите внимание, что loop.index
используется как "is-is", оно не относится к переменной, а скорее к скрытой индексации цикла for.