{cycle}

{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} используется для прохода через множество значений. С его помощью можно легко реализовать чередование двух или более цветов в таблице или пройтись циклом по массиву.

Имя атрибутаТипОбязателенПо умолчаниюОписание
namestringНетdefaultНазвание цикла
valuesmixedДаN/A Значения, по которым будет производиться цикл. Либо список, разделеный запятыми (либо другим указанным разделителем), либо массив значений.
printbooleanНетtrueВыводить значение, или нет
advancebooleanНетtrueПереключаться или нет на следующее значение
delimiterstringНет,Разделитель, используемый в атрибуте values.
assignstringНетn/aИмя переменной, которой будет присвоен вывод тэга
resetbooleanНетfalseЦикл будет установлен в начальное значение и не увеличен

Можно проходить через несколько множеств значений одновременно, указав атрибут name. Имена должны быть уникальными.

Можно не отображать данный элемент, установив атрибут print в false. Удобно для пропуска значения, без его вывода.

Атрибут advance используется для повтора значения. Если установлен в true, то при следующем вызове {cycle} будет выведено то же значение.

Если указан специальный атрибут "assign", то вывод {cycle} присваивается переменной, вместо отображения.

Пример 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>