增量声明整数变量

时间:2012-01-24 16:13:23

标签: twig

我尝试做斑马条纹:

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

但我收到错误:

  

意外的标记名称“counter”(期望“for”标记的结束标记   在第11行附近定义

有人可以给我解决方案吗?

[编辑]

我的糟糕解决方案非常简单:

{% set counter = counter + 1 %}

2 个答案:

答案 0 :(得分:37)

有一种更简单的方法可以做你想做的事情:

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

请参阅docs了解loop好东西。

答案 1 :(得分:5)

如果您想完全控制html,可以试试这个:

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

您可以在此处阅读:http://twig.sensiolabs.org/doc/tests/divisibleby.html

请注意loop.index按“原样”使用,它不是指变量而是指for循环的隐藏索引。