Операторы и макросы - Линейка решений INTEC: Universe
Для генерации текста можно использовать различные операторы. Они используются в текстовых шаблонах и генераторе. Все операторы поддерживают вложенность.
Доступные операторы:
{Текст 1|Текст 2|Текст n} - Группа. Выбирает один из возможных текстов в группе для каждого элемента. Группа начинается с символа { и заканчивается символом }. Элементы группы разделяются символом |;
#MACROS# - Макрос. Заменяется на содержимое элемента (у каждого элемента свои макросы). Макрос начинается с символа # и заканчивается символом #. Внутри оператора помещается название макроса;
[Текст и операторы] - Условный оператор. Помещает в себе текст и другие операторы. Текст условного оператора будет выведен только в том случае, если он содержит в себе другие операторы и один из этих операторов возвращает не пустой результат. Условный оператор начинается с символа [ и заканчивается символом ];
\ - Экранирование. Ставится перед любым спец. символом операторов, для того чтобы спец. символ считался обычным и выводился в тексте.
Пример: {Недорогой|Дешевый|Качественный} #NAME#[ с мощностью #PROPERTY_POWER#Вт.] и отличной {динамикой|эргономикой}.
Из данного примера могут получится следующие варианты:
Недорогой Пылесос Bosch с мощностью 300Вт. и отличной эргономикой;
Качественный Пылесос Samsung и отличной динамикой (условный оператор не сработал, т.к. предполагается что данное свойство не заполнено у этого элемента);
Дешевый Пылесос Haier с мощностью 500Вт. и отличной динамикой; и др.
Доступные макросы инфоблока:
ID - Идентификатор инфоблока;
CODE - Символьный код инфоблока;
NAME - Наименование инфоблока;
DESCRIPTION - Описание инфоблока;
SECTIONS_NAME - Наименование разделов инфоблока;
SECTION_NAME - Наименование раздела инфоблока;
ELEMENTS_NAME - Наименование элементов инфоблока;
ELEMENT_NAME - Наименование элемента инфоблока.
Доступные макросы раздела инфоблока:
ID - Идентификатор раздела;
CODE - Символьный код раздела;
NAME - Наименование раздела;
DESCRIPTION - Описание раздела;
PROPERTY_<Код свойства> - UF_ свойство раздела. Код свойства прописывается без приставки UF_;
IBLOCK_ID - Идентификатор инфоблока;
IBLOCK_CODE - Символьный код инфоблока;
IBLOCK_NAME - Наименование инфоблока;
IBLOCK_DESCRIPTION - Описание инфоблока;
IBLOCK_SECTIONS_NAME - Наименование разделов инфоблока;
IBLOCK_SECTION_NAME - Наименование раздела инфоблока;
IBLOCK_ELEMENTS_NAME - Наименование элементов инфоблока;
IBLOCK_ELEMENT_NAME - Наименование элемента инфоблока.
Доступные макросы элемента инфоблока:
ID - Идентификатор элемента;
CODE - Символьный код элемента;
NAME - Наименование элемента;
DESCRIPTION_PREVIEW - Описание анонса элемента;
DESCRIPTION_DETAIL - Детальное описание элемента;
PROPERTY_<Код свойства> - Свойство элемента;
SECTION_ID - Идентификатор раздела;
SECTION_CODE - Символьный код раздела;
SECTION_NAME - Наименование раздела;
SECTION_DESCRIPTION - Описание раздела;
SECTION_PROPERTY_<Код свойства> - UF_ свойство раздела. Код свойства прописывается без приставки UF_;
IBLOCK_ID - Идентификатор инфоблока;
IBLOCK_CODE - Символьный код инфоблока;
IBLOCK_NAME - Наименование инфоблока;
IBLOCK_DESCRIPTION - Описание инфоблока;
IBLOCK_SECTIONS_NAME - Наименование разделов инфоблока;
IBLOCK_SECTION_NAME - Наименование раздела инфоблока;
IBLOCK_ELEMENTS_NAME - Наименование элементов инфоблока;
IBLOCK_ELEMENT_NAME - Наименование элемента инфоблока.