Smarty:cycle函数
{cycle}
{cycle}
用于交替循环一系列值。 例如它可以轻易做到: 在表格中各行交替显示两种或多种颜色, 或者交替循环数组。
参数名称 | 类型 | 必选参数 | 默认值 | 说明 |
---|---|---|---|---|
name | string | No | default | 交替循环的名称 |
values | mixed | Yes | N/A | 交替遍历的值,可以是用逗号分隔的字符串列表(注意限定符号),也可以是数组。 |
boolean | No | TRUE | 是否每次都显示该值 | |
advance | boolean | No | TRUE | 是否递进到下一个值 |
delimiter | string | No | , | values属性使用的限定符号 |
assign | string | No | n/a | 赋值的变量名 |
reset | boolean | No | FALSE | 交替循环将重置回到最前面的值,而不会递进。 |
你可以在模板内使用多个不同
name
属性的{cycle}
。设置
print
为FALSE
可以让当前值不显示。 在你希望可以静默地跳过一些值的时候很有用。advance
属性用来重复一个值。当设置成FALSE
下次执行{cycle}
将输出同一个值。如果你设置了
assign
属性,那么{cycle}
的输出将会被赋值给变量。
Example 8.2. {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>