Увеличение объявленной целочисленной переменной - PullRequest
31 голосов
/ 24 января 2012

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

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

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

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

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

[EDIT]

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

{% set counter = counter + 1 %}

Ответы [ 2 ]

37 голосов
/ 25 января 2012

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

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

См. документы о loop вкусностях.

5 голосов
/ 08 июля 2013

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...