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