{* форма 1 *}
{? for <var> in <array>;
<body>
[else <elsebody>]
end ?}
{* форма 2 *}
{? for <var> = <expression1> while <condition> next <expression2>;
<body>
[else <elsebody>]
end ?}
Переборный цикл. Выполняет действия <body> для каждого элемента в массиве <array>, доступ к текущему перебираемому элементу осуществляется через переменную <var>.
Если элементов для перебора нет, то выполяется действие <elsebody> блока else.
{? for msg in messages ?}
<div>{{msg.author}}: {{msg.text}}</div>
{? else ?}
<div>Сообщений нет</div>
{? end ?}
Цикл со счетчиком. Инициализирует переменную <var> начальным значением, вычесленным в <expression>, и выполняет действия <body> до тех пор, пока истинно условие <condition>. В конце каждой итерации цикла вычисляется выражение <expression2>, в котором обычно происходит инкремент переменной <var> на единицу.
Если ни одной итерации цикла не произошло, то выполяется действие <elsebody> блока else.
{? for i = 0 while i < 5 next i += 1 ?}
<div>Элемент {{i}}: {{elements[i]}}</div>
{? else ?}
<div>Элементов нет</div>
{? end ?}