增量声明整数变量

Cod*_*ium 31 twig

我尝试做斑马条纹:

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

但我收到错误:

意外的标签名称"counter"(期望在第11行附近定义的"for"标签的结束标签)

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

[编辑]

我的糟糕解决方案很简单:

{% set counter = counter + 1 %}
Run Code Online (Sandbox Code Playgroud)

Mae*_*lyn 37

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

{{ cycle(["even", "odd"], loop.index) }}
Run Code Online (Sandbox Code Playgroud)

请参阅文档了解loop好吃的东西.


Dan*_*ger 5

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

{% if loop.index is divisibleby(2) %}
    ...
{% endif %}
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读:http://twig.sensiolabs.org/doc/tests/divisibleby.html

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