{cycle}
は、値の設定に従って循環します。
テーブル内のセルの色を交互に2色もしくはそれ以上の色に変更したり、
配列の値を循環するような事が簡単に行えます。
属性名 | 型 | 必須 | デフォルト | 概要 |
---|---|---|---|---|
name | string | No | default | サイクルの名前 |
values | mixed | Yes | N/A | カンマを境界としたリスト (delimiter属性を参照) または値の配列のどちらかによって指定する、循環される値 |
boolean | No | TRUE |
値を表示するかどうか | |
advance | boolean | No | TRUE |
次の値に進むかどうか |
delimiter | string | No | , | value 属性で使用するためのデリミタ |
assign | string | No | n/a | 出力が割り当てられるテンプレート変数 |
reset | boolean | No | FALSE |
次の値に進まずに、最初の値をセットする。 |
name
属性を渡す事によって、テンプレート内で 1つ以上の値のセットを通して{cycle}
を行えます。 各{cycle}
にはユニークなname
を与えてください。print
属性にFALSE
をセットする事で、 強制的に現在の値を表示しない事が可能です。これは、 こっそり値をスキップするのに役に立つでしょう。advance
属性は値を繰り返すために使われます。FALSE
をセットした時に次の{cycle}
が呼ばれると、 同じ値を表示します。assign
属性を指定した場合は、{cycle}
関数の出力は テンプレートに出力される代わりにテンプレート変数に割り当てられます。
Example 8.5. {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>