Tag {for} ========= ### {for} {for $counter= to=[ step=][ index=$index][ first=$first][ last=$last]} {* ...code... *} {break} {* ...code... *} {continue} {* ...code... *} {forelse} {* ...code... *} {/for} Переменная $counter принимает значение и увеличивает своё значение на на каждой итерации цикла пока не достигнет или не станет больше . является необязательным аргументом. Если не указан, считается равным единице. $index имеет значение номера текущей итерации. Первая итерация имеет номер 0. $first равно TRUE, если итерация первая. $last равно TRUE, если итерация последняя. Поля , , могут быть числами, или переменными, значение которых приводится к числовому. Значением параметров index, first, last может быть только переменная (допускаются вложенности на подобии $a.b.c, но массив $a.b должен быть объявлен). ### {break} Тег `{break}` используется для выхода из цикла до достижения последней итерации. Если в цикле встречается тег {break}, цикл завершает свою работу, и далее выполняется код, следующий сразу за блоком цикла ### {continue} Тег `{continue}` используется для прерывания текущей итерации. Если в цикле встречается тег {continue}, часть цикла, следующая после тега, не выполняется, и начинается следующая итерация. Если текущая итерация была последней, цикл завершается. ### {forelse} Тег `{forelse}` ограничивает код, который должен быть выполнен, если сочетание полей , и не обеспечивают ни одной итерации.