Источник данных
Раздел «Источник данных» определяет, какие карточки обрабатывает модуль. Настройка идёт по порядку: тип данных → инфоблок → фильтр → разделы → захват событий.
Тип данных: элементы и разделы
Модуль обрабатывает элементы и разделы инфоблока. В рамках одного профиля выбирается один конкретный инфоблок.
Что модуль читает с карточки:
- стандартные поля (наименование, описание, анонс, код и другие);
- свойства инфоблока, включая значения справочников;
- пользовательские поля разделов;
- SEO-шаблоны;
- данные раздела, в котором лежит элемент.
Что модуль записывает:
- стандартные поля;
- свойства инфоблока;
- любой из SEO-шаблонов (META Title / Description / Keywords, заголовок страницы, ALT / TITLE картинок);
- для разделов — название, символьный код, описание и SEO-шаблоны.
Разделы — полноценная сущность наравне с элементами. Тексты и мета-теги для категорий обычно делают по остаточному принципу: их не видно в админке, но именно они собирают трафик из поиска. Заведите отдельный профиль под разделы — и закройте эту задачу разом.
При смене типа данных или инфоблока зависимые настройки (фильтр, конвейер) сбрасываются — выбирайте инфоблок до сборки конвейера.
Фильтр карточек
Выборка отбирается фильтром: поле + условие + значение. Условия строятся по стандартным полям, свойствам инфоблока, пользовательским полям и SEO — например, «meta-description не заполнен».
Все критерии объединяются по логике «И». Под разные наборы условий заводятся разные профили.
Счётчик выборки = оценка бюджета
Модуль сразу показывает, сколько карточек попало под отбор. Вместе со стоимостью одного прогона из раздела Тестирование это и есть бюджет всей кампании, посчитанный до её запуска:
стоимость одного прогона × число карточек в фильтре = бюджет кампании
Фильтр не должен зависеть от полей, которые заполняет сам модуль. Иначе карточки будут «исчезать» из дашборда после обработки: модуль заполнит поле, и карточка перестанет подходить под условие.
Стройте фильтр по неизменным признакам (раздел, тип, артикул, активность), а не по полю-результату генерации. Исключение — осознанный сценарий «дозаполнить пустое»: условие «поле не заполнено» как раз и оставляет ручной контент нетронутым.
Ограничение по разделам
Выборку можно дополнительно ограничить разделами инфоблока. Виджет выбора — ленивое дерево с независимым выбором узлов и флагом «с подразделами / без». Так можно генерировать контент только для нужной части каталога — например, для одной товарной группы.
Захват событий
Карточка попадает в очередь обработки двумя способами:
- Вручную — массовая постановка по фильтру прямо с дашборда или перезапуск отдельных карточек.
- Автоматический захват событий Битрикс — карточка попадает в очередь при создании и/или обновлении.
Доступные триггеры захвата:
- При создании элемента — новый товар или статья сразу уходит на генерацию.
- При обновлении элемента — изменение карточки запускает повторную обработку.
- Сценарий со «Статусом генерации» — паттерн на основе отдельного свойства, которым вы управляете постановкой карточки в очередь вручную из карточки.
Карточки, приезжающие из 1С
Это основной сценарий автозахвата: импорт создаёт карточку с названием и артикулом, а описание и мета-теги дописываются сами. Обработка идёт в фоне, поэтому импорт она не замедляет.
- Задача ставится только для карточек, проходящих фильтр профиля — всё, что фильтру не соответствует, в очередь не попадает.
- Защита от зацикливания. Модуль записывает результат в ту же карточку, и эта запись сама по себе является событием обновления. От повторного захвата на собственной записи есть защита — цикл «сгенерировал → обновил → снова сгенерировал» не возникает.
Для массового прогона уже существующего каталога удобнее ручная постановка по фильтру с дашборда. Автоматический захват событий подходит для поддержания контента в актуальном состоянии при создании и редактировании карточек.
Когда источник данных настроен, переходите к сборке конвейера.