{cycle} is used to cycle though a set of values. This makes it easy to alternate for example between two or more colors in a table, or cycle through an array of values.
{cycle} используется для прохода через множество значений. С его помощью можно легко реализовать чередование двух или более цветов в таблице или пройтись циклом по массиву.
| Имя атрибута | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
| name | string | Нет | default | Название цикла |
| values | mixed | Да | N/A | Значения, по которым будет производиться цикл. Либо список, разделеный запятыми (либо другим указанным разделителем), либо массив значений. |
| boolean | Нет | true | Выводить значение, или нет | |
| advance | boolean | Нет | true | Переключаться или нет на следующее значение |
| delimiter | string | Нет | , | Разделитель, используемый в атрибуте values. |
| assign | string | Нет | n/a | Имя переменной, которой будет присвоен вывод тэга |
| reset | boolean | Нет | false | Цикл будет установлен в начальное значение и не увеличен |
Можно проходить через несколько множеств значений одновременно, указав атрибут name. Имена должны быть уникальными.
Можно не отображать данный элемент, установив атрибут print в false. Удобно для пропуска значения, без его вывода.
Атрибут advance используется для повтора значения. Если установлен в true, то при следующем вызове {cycle} будет выведено то же значение.
Если указан специальный атрибут "assign", то вывод {cycle} присваивается переменной, вместо отображения.
Example 8.5. {cycle}
{section name=rows loop=$data}
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
<td>{$data[rows]}</td>
</tr>
{/section}
<tr bgcolor="#eeeeee"> <td>1</td> </tr> <tr bgcolor="#d0d0d0"> <td>2</td> </tr> <tr bgcolor="#eeeeee"> <td>3</td> </tr>