2  /  7

Механизм коллекций и групповые действия

Механизм коллекций - это основной инструментарий модуля. Он расположен по следующему пути в административном меню: Сервисы - Инструменты, коллекции, групповые действия - Коллекции.

Но по умолчанию выключен. Включается в настройках модуля: Настойки - Настройки продукта - Настройки модулей - Инструменты, коллекции, групповые действия... В момент включения создается необходимая база (инфоблоки) для корректной работы механизма.

Доступны следующие действия над элементами инфоблоков:

  • Привязка набора элементов к разделам инфоблока.
  • Действие «Перекрестные продажи».
  • Групповое действие "Отвязать от разделов инфоблока".
  • Групповое действие "Перенести в раздел".
  • Групповое редактирование свойств.
  • Групповое редактирование значений свойств с заменой макросов.
  • Групповое редактирование свойств и запись в них предустановленного массива фильтра.
  • Пошаговое удаление элементов инфоблока согласно выборке.
  • Пошаговое выполнение произвольного PHP действия над элементами инфоблока согласно выборке.

Каждое действие может содержать разный набор полей, но основные следующие:

  • Активность (обязательное). При отключении активности, профиль не будет никак задействован, не будет индексироваться ни агентом, ни ручным запуском.
  • Индексировать с помощью Агента. При включении опции профили будут запускаться специальной функцией агента CScoderBaseAgents::ReindexProfiles(). Порядок очередности запуска профилей происходит согласно индексу сортировки. К этой опции нужно подходить с умом, т.к. индексация при запуске происходит в один шаг, если профилей или индексируемых элементов достаточно много, сервер может не справиться с нагрузкой. Рекомендуется переводить работу агента на cron. Для запуска профилей отдельно можно использовать функцию CScoderBaseAgents::ReindexCollection($set_id), где $set_id - ид коллекции.
  • Название
  • Сортировка. Используется при запуске индексации профилей с помощью агента. Чем меньше индекс, тем раньше запуститься.
  • Количество элементов, обрабатываемых за один шаг при переиндексации. Используется при ручном пошаговом запуске индексации.
  • Выберите действие (обязательное). Само действие, список доступных действий указан выше.
  • Выберите инфоблок (обязательное). Инфоблок, над элементами которого будет выполняться действие.
  • Коллекция. После заполнения обязательных полей, указанных выше, становится доступен ФИЛЬТР, с помощью которого и задается необходимая выборка элементов.

В качестве фильтра используется стандартный фильтр для работы с элементами инфоблока, который многим знаком, если работали на элементами в административном разделе.

filter

В фильтре используются стандартные поля элементов инфоблока и свойства. Чтобы свойство стало доступным в в фильтре, необходимо в его настройках включить Выводить на странице списка элементов поле для фильтрации по этому свойству, подробнее в официальной документации.

Принцип работы механизма рассмотрим на примере одного из действий: Привязать к разделам (при данном действии элементы привяжутся к новому разделу, но также останутся в старых). Например необходимо создать в каталоге посадочную страницу (раздел), где будут отображаться товары по определенному критерию: все футболки стоимостью выше 1000 руб. красного цвета. Алгоритм следующий.

  1. Создается стандартный раздел инфоблока в нужном каталоге (инфоблоке), например с названием "Красные футболки".
  2. Создается коллекция с помощью данного модуля, необходимо задать поля для профиля: активность, название, указать действие "Привязать к разделам", указать нужный инфоблок (ваш каталог). В итоге должно полуиться:

collections

Настройки фильтра следующие:

collections-filter

После переиндексации элементы (товары) привяжутся к нужному разделу (разделам) согласно заданному фильтру. Аналогичным образом настраиваются и прочие действия.

Конечно, важна поддержка актуальности подобных выборок. Для этого мы рекомендуем создать дополнительный, вспомогательный профиль для СБРОСА данных, который необходимо запускать до профиля основой выборки (коллекции). С течением времени характеристики элементов могут меняться и они перестают удовлетворять условиям выборки, следовательно их нужно отвязывать.