Cистема управления сайтом

Оператор loop

Оператор loop является оператором цикла. Циклы используется для выполнения много раз подряд какого-то действия. Оператор loop формирует цикл с заданным числом повторов (цикл со счетчиком). Конструкции DJEM-скрипт расположенные внутри оператора loop выполняются при каждом повторении цикла.

Счетчик цикла последовательно принимает значения от заданного начального числа до конечного с указанным шагом. Если шаг не указан, то отсчет ведется с шагом 1.

Например, если задать цикл от 2 до 10 с шагом 2, то тело цикла повториться 5 раз. Счетчик примет значения: 2, 4, 6, 8, 10. При помощи этого оператора, например, можно вывести список ссылок на страницы для постраничного отображения текста..

Синтаксис:

<loop identifier=expr1 to expr2 [step = expr3]>
  djemscript
</loop>

где,

Параметр

Описание

identifier

имя цикла для дальнейшего доступа к результатам. Может быть вычисляемым выражением. Обязательный параметр.

expr1

выражение, задающее значение от которого начнется отсчет. Обязательный параметр.

expr2

выражение, задающее значение на котором закончится отсчет. Обязательный параметр.

expr3

задает шаг цикла

 

Для доступа к счетчику цикла используется выражение вида: <loop[identifier]>

Пример:

Вывод html-таблицы со списком ссылок на страницы новостей:

<table><tr>
<loop i=1 to 5>
<td><a href="news.html?page=<loop[i]>">[<loop[i]>]</a></td>
</loop>
</tr></table>

Результат:

<table><tr>
<td><a href="news.html?page=1">[1]</a></td>
<td><a href="news.html?page=2">[2]</a></td>
<td><a href="news.html?page=3">[3]</a></td>
<td><a href="news.html?page=4">[4]</a></td>
<td><a href="news.html?page=5">[5]</a></td>
</tr></table>

 

Пример  строки навигации

<loop i=<#_level#> to 0 step=-1>
  
<parent[<loop[i]>]._name.lcase> /
</loop>
<hr>
<loop i=0 to (<#_level#>-1)>
 
<parent[<loop[i]>]._name.lcase> /
</loop>

Этот код, выполненный в документе main.system.includes.test выведет:

тест / фрагменты страниц / системные файлы / главная /
<hr>
главная / системные файлы / фрагменты страниц /

Поиск по документации

О компании  |  Партнёрам

© 2005 — 2024 DJEM Solutions, все права защищены. | Дизайн — Студия Fractalla