Метка «Цикл»
Метка используется для повторения части шаблона столько раз, сколько элементов в списке. Она перебирает элементы из поля типа «Список» и подставляет данные по одному — формируя, например, перечень товаров, услуг или сотрудников.
Синтаксис
Где:
-
– начало цикла.
-
списокТоваров
– идентификатор поля типа «Список». -
данныеТовара
– это имя, через которое происходит обращение к каждому элементу. Вместо него можно использовать любое допустимое имя переменной, например:1
,товары1
,_23
,_товары
и т. п.Соответственно, к полям, находящимся внутри составного поля, нужно обращаться с указанием этого имени. Например, если заменить
данныеТовара
на1
, то обращение к полю наименование будет выглядеть так:1.наименование
-
обращение к конкретным данным внутри списка и составного поля.
-
– закрывает конструкцию.
📌 Если список содержит составные поля, обращаться к ним можно через точку: товар.наименование
, товар.цена
и т.д.
Пример:
Задача: вывести список товаров с названием, количеством и ценой.
Шаги:
-
Создайте поле типа «Список» с элементом «Составное поле».
-
Внутри составного поля добавьте:
-
Текстовое поле —
наименование
-
Целое число —
колво
-
Десятичное число —
цена
-
-
В шаблоне установите курсор и выберите: «Метки» → «Цикл» → «Цикл».
-
Заполните параметры цикла:
-
Переменная ряда:
данныеТовара
(так вы будете обращаться к каждому товару внутри цикла); -
Список:
списокТоваров
— идентификатор вашего списка; -
Разделитель: при необходимости (например, запятая или точка с запятой)
-
-
Добавьте внутрь цикла
{цикл(товар из списокТоваров)}...{/цикл}
текст с метками. -
Чтобы обратиться к вложенным полям каждого товара, используйте метку
Значение
и укажите путь, либо вставьте его через три точки напротив вложенного поля (Наименование
,Кол-во
,Цена
): -
Закройте цикл:
{/цикл}
Принцип работы:
-
Указывается переменная и список
В начале цикла вы задаёте, как назвать переменную (например,
данныеТовара
), и из какого поля брать данные (например,списокТоваров
). -
Цикл начинает перебор
Система берёт первый элемент списка и подставляет его данные внутрь конструкции:
{цикл(данныеТовара из списокТоваров)} ... {/цикл}
-
Автоматический переход к следующему элементу
После обработки первого элемента, цикл переходит ко второму, третьему и т.д., пока список не закончится.
-
Завершение цикла
После обработки всех элементов выполнение цикла завершается.
📌 Если список пуст — цикл ничего не выведет.