What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{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>