{% for %}

October CMS Documentation Docs

{% for %}

{% for %} 和 {% endfor %} 标签将遍历集合中的每个值。 集合可以是数组,也可以是实现了 Traversable 接口的对象。

<ul>
    ___TWIG0___
        <li>___TWIG1___</li>
    ___TWIG2___
</ul>

您还可以访问键和值:

<ul>
    ___TWIG0___
        <li>___TWIG1___: ___TWIG2___</li>
    ___TWIG3___
</ul>

如果集合为空,您可以使用 else 渲染替换块:

<ul>
    ___TWIG0___
        <li>___TWIG1___</li>
    ___TWIG2___
        <li><em>没有找到用户</em></li>
    ___TWIG3___
</ul>

# 循环集合

如果确实需要遍历数字集合,可以使用 .. 运算符:

___TWIG0___
    - ___TWIG1___
___TWIG2___

上面的代码片段将打印从 0 到 10 的所有数字。

它也可以用于字母:

___TWIG0___
    - ___TWIG1___
___TWIG2___

.. 运算符可以在两边使用任何表达式

___TWIG0___
    - ___TWIG1___
___TWIG2___

# 添加条件

与 PHP 不同,循环中没有"break"或"continue"的功能,但是您仍然可以过滤集合。 以下示例跳过所有不活动的users:

<ul>
    ___TWIG0___
        <li>___TWIG1___</li>
    ___TWIG2___
</ul>

# 循环变量

在for循环块的内部可以访问一些特殊变量:

变量描述
loop.index循环的当前迭代。 (1索引)
loop.index0循环的当前迭代。 (0索引)
loop.revindex循环结束的迭代次数(1索引)
loop.revindex0循环末尾的迭代次数(0索引)
loop.first如果第一次迭代则为true
loop.last如果最后一次迭代则为true
loop.length序列中的项目数
loop.parent父上下文
___TWIG0___
    ___TWIG1___ - ___TWIG2___
___TWIG3___