{cycle}

{cycle}用于交替循环一系列值。 例如它可以轻易做到: 在表格中各行交替显示两种或多种颜色, 或者交替循环数组。

参数名称 类型 必选参数 默认值 说明
name string No default 交替循环的名称
values mixed Yes N/A 交替遍历的值,可以是用逗号分隔的字符串列表(注意限定符号),也可以是数组。
print boolean No TRUE 是否每次都显示该值
advance boolean No TRUE 是否递进到下一个值
delimiter string No , values属性使用的限定符号
assign string No n/a 赋值的变量名
reset boolean No FALSE 交替循环将重置回到最前面的值,而不会递进。
  • 你可以在模板内使用多个不同name属性的{cycle}

  • 设置printFALSE可以让当前值不显示。 在你希望可以静默地跳过一些值的时候很有用。

  • advance属性用来重复一个值。当设置成FALSE 下次执行{cycle}将输出同一个值。

  • 如果你设置了assign属性,那么{cycle}的输出将会被赋值给变量。


Example 8.2. {cycle}

  1. {section name=rows loop=$data}
  2. <tr class="{cycle values="odd,even"}">
  3. <td>{$data[rows]}</td>
  4. </tr>
  5. {/section}
  6.  

输出:

  1. <tr class="odd">
  2. <td>1</td>
  3. </tr>
  4. <tr class="even">
  5. <td>2</td>
  6. </tr>
  7. <tr class="odd">
  8. <td>3</td>
  9. </tr>
  10.  

原文: https://www.smarty.net/docs/zh_CN/language.function.cycle.tpl