Для генерации текста можно использовать различные операторы. Они используются в
текстовых шаблонах и
генераторе. Все операторы поддерживают вложенность.
Доступные операторы:
- {Текст 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 - Наименование элемента инфоблока.