跳到内容

{cycle}

{cycle}用于备选一组值。这使得例如在表中两个或更多颜色之间备选或在数列数据中循环变得简便。

属性

属性名称 必需 描述
name 循环的名称
values 循环遍历的值,逗号分隔列表(见分隔符属性)或数组值列表
print 是否打印该值(默认情况为真)
advance 是否推进到下一个值(默认情况为真)
delimiter 在 values 属性中使用的分隔符(默认情况为“,”)
assign 输出分配到的模板变量
reset 循环将重置到第一个值并且不会推进(默认情况为假)
  • 通过提供 name 属性,您可以在模板中对多个值集使用 {cycle}。给每个 {cycle}一个唯一的 name

  • 您可以设置 print 属性为 FALSE, 强制不打印当前值。这对于静默跳过一个值很有用。

  • advance 属性用于重复一个值。当设置为 FALSE 时,对 {cycle} 的后续调用都会打印相同的值。

  • 如果您提供 assign 属性,则 {cycle} 函数的输出会分配给一个模板变量,而不会输出到模板。

示例

{section name=rows loop=$data}
    <tr class="{cycle values="odd,even"}">
       <td>{$data[rows]}</td>
    </tr>
{/section}

上面的模板会输出

    <tr class="odd">
       <td>1</td>
    </tr>
    <tr class="even">
       <td>2</td>
    </tr>
    <tr class="odd">
       <td>3</td>
    </tr>