АРАМА: Товарные коллекции в разделах 1С-Битрикс

Настройки товарных коллекций

Работа с товарными коллекциями происходит на странице редактирования раздела инфоблока в административном разделе 1С-Битрикс, например: Контент - Каталоги - Торговый каталог. Появится дополнительная вкладка «Товарные коллекции» со следующими опциями (функционалом):

  1. Конструктор условий. 
    1. Опция «Использовать интерфейс фильтра» переключает тип конструктора. Всегда активно, если инфоблок не является торговым каталогом или используются редакции Старт или Стандарт ЦМС 1С-Битрикс. 
    2. Доступна два типа:
  2. Учитывать родительские разделы — не доступно для конструктора с интерфейсом фильтра.
  3. Товары каких инфоблоков перебирать — не доступно для конструктора с интерфейсом фильтра.
  4. Только доступные товары — не доступно для конструктора с интерфейсом фильтра.
  5. Действия над товарами со скидкой — не доступно для конструктора с интерфейсом фильтра.
  6. Не менять активность коллекции
  7. Свойство (выбор) и его значение
  8. Кнопка «Переиндексация»

Настройки товарных коллекций

1. Конструктор условий

Конструкторы — это основа модуля. С помощью конструктора указываются условия для подбора товаров (элементов инфоблока) в разделы инфоблока для дальнейшей их привязки к этому разделу.

Доступны два варианта конструктора, которые реализованы на базе инструментов 1С-Битрикс:

1.1. Конструктор с интерфейсом скидок

Данный интерфейс аналогичен интерфейсу в скидках 1С-Битрикс и рассчитан для работы с товарами и торговыми предложениями.

Не доступен на редакциях 1С-Битрикс Старт и Стандарт, требуются модули Интернет-магазин  и Торговый каталог. Не доступен для инфоблоков, которые не являются торговым каталогом.

Обязательно, после добавления или редактирования условий в конструкторе, надо сохранить коллекцию, нажав на кнопку Сохранить или Применить. В противном случае кнопка Переиндексации не будет доступна или переиндексируется со старыми условиями. Чтобы параметры коллекции сохранились, необходимо обязательно указать хотя бы какое-нибудь условие в конструкторе условий, например «Инфоблок».

Доступные поля:

  • Товар
  • Инфоблок
  • Раздел
  • Символьный код
  • Внешний код
  • Название
  • Начало активности
  • Окончание активности
  • Сортировка
  • Описание для анонса
  • Детальное описание
  • Дата создания
  • Автор
  • Дата изменения
  • Изменивший
  • Теги
  • Количество товара на складе
  • Вес товара
  • НДС
  • НДС включен в цену
  • Свойства инфоблока товаров и торговых предложений.

Если на сайте несколько инфоблоков, являющихся торговым каталогом, то в конструкторе с интерфейсом скидок доступны все свойства всех торговых каталогов, но использование свойств других торговых каталогов в рамках текущего бессмысленно.

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

Конструктор с интерфейсом скидок

Логика работы:

Работает по правилам логических операций (мат. логика):

  • Дизъюнкция - логическое сложение (ИЛИ);
  • Конъюнкция - логическое умножение (И);
  • Отрицание (НЕ).

Чувствителен к регистру.

Например, если собирать товары, содержащие в названии фразу «костюм», то необходимо указать все вариации костюм или Костюм или же часть фразы, в котором точно уверены, что оно в одном регистре — остюм.

Удаление коллекции

Удаление коллекций при применении конструктора с интерфейсом скидок осуществляется одним из двух способов:

  1. Сбрасываются все условия в конструкторе на странице редактирования раздела инфоблока. Далее необходимо нажать кнопу Сохранить или Применить. Запись удаляется из таблицы коллекций модуля.
  2. На странице в административном разделе Сервисы - АРАМА: Товарные коллекции в разделах - Коллекции нажать меню действий над коллекций, выбрать Удалить.

1.2. Конструктор с интерфейсом фильтра

Данный интерфейс аналогичен интерфейсу фильтра в списке элементов инфоблока в административном разделе 1С-Битрикс. Но могут быть незначительные отличия.

Конструктор с интерфейсом фильтра

Преимущества:

  • доступность во всех редакциях 1С-Битрикс;
  • доступен для всех инфоблоков.

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

Часто задают вопрос, как сделать, чтобы свойство стало доступно в интерфейсе? По аналогии с базовым функционалом ЦМС 1С-Битрикс, необходимо в настройках свойства отметить галочку  «Выводить на странице списка элементов поле для фильтрации по этому свойству», подробнее в официальной документации — Создание и редактирование свойств инфоблока.

Как настроить?

  1. Нажать на строку Фильтр + поиск.
  2. Нажать Добавить поле и отметить поля и свойства, которые планируете использовать.
  3. Указать значения для выбранных полей и свойств.
  4. Нажать кнопку Найти — в момент нажатия этой кнопки происходит сохранение условий коллекции. Если не выбраны дополнительные опции, то нет необходимости в нажатии кнопок Сохранить или Применить раздел.

Внимание: Если открыть существующий фильтр, нажав на строку «Фильтр + поиск», и не нажать кнопку «Найти», то фильтр для коллекции сбросится, хоть визуально это будет выглядеть не так. Поэтому обязательно всегда после раскрытия фильтра необходимо нажимать кнопку «Найти».

Это связано с тем, что в модуле используется компонент bitrix:main.ui.filter и у него свои механизмы сохранения значений.

Пример с интерфейсом фильтра

Удаление коллекции с интерфейсом фильтра

Удаление коллекций при применении конструктора с интерфейсом фильтра производится следующим образом:

  1. На странице в административном разделе Сервисы - АРАМА: Товарные коллекции в разделах - Коллекции нажать меню действий над коллекций, выбрать Удалить.  Запись полностью удаляется из таблицы коллекций модуля.

2. Учитывать родительские разделы

Это доп. условие полезно, если в основных условиях выбрано поле «Раздел». При отмеченной опции учитывается принадлежность к разделу-родителю. Например: иерархия разделов устроена так:

  • Обувь
    • Пантолеты
    • Тапочки
    • Туфли
    • ...

При этом товары явно привязаны только к подразделам:

  • Пантолеты
  • Тапочки
  • Туфли

Стоит задача: перебрать все товары подразделов раздела «Обувь».

Указывать в условиях все подразделы не очень удобно, особенно если таких подразделов действительно много или часто появляются новые. При отмеченной опции «Учитывать родительские разделы» достаточно указывать родительский раздел (для нашего примера - это раздел «Обувь») и товары будут удовлетворять условию и попадать в коллекцию. В противном случае, т.к. реальной привязки к разделу «Обувь» нет, то в коллекцию вообще бы не попал ни один товар.

Учитывать родительские разделы

3. Товары каких инфоблоков перебирать

По умолчанию, при переиндексации модуль проходит по всем инфоблокам: торговым каталогом и его инфоблокам торговых предложений.

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

4. Только доступные товары

При отмеченной опции будет учитываться «Доступность» товаров, недоступные товары не будут попадать в коллекции.

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

Доступность

5. Действия над товарами со скидкой

Доступны следующие значения:

  • Дополнять товарами со скидкой —  к коллекции добавятся акционные товары и товары, попадающие под основные условия.
  • Учитывать только товары со скидкой — будут браться только акционные товары, но кроме того, эти же товары будут проверяться на попадание под основные условия.
  • Исключать товары со скидкой из товаров — из товаров, удовлетворяющих основным условиям, будут исключаться акционные товары.

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

Подробнее об отличиях скидок от правил работы с корзиной и о режимах работы — Два режима работы Интернет-магазина.

При смене условий скидок или завершении их актуальности, требуется переиндексация коллекций.

6. Не менять активность коллекции

При отмеченной опции у раздела инфоблока, являющейся коллекцией, невозможно будет поменять «Активность».

Бывают ситуации, например, при обмене с 1С разделы, отсутствующие в 1С, деактивируются. Чтобы этого не происходило и разделы-коллекции не деактивировались, необходимо отметить эту опцию.

7. Свойство (выбор) и его значение

Опция «Укажите свойство» позволяет выбрать свойство и назначать ему значение, которое необходимо заполнять при переиндексации коллекции. Аналогично привязке к разделам, значение свойства присваивается или сбрасывается в зависимости от того, удовлетворяет ли элемент инфоблока условиям коллекции или нет.

8. Кнопка «Переиндексация»

Кнопка, после нажатия которой запускается процесс пошаговой переиндексации элементов инфоблока для данного раздела-коллекции.

В момент переиндексации запрашиваются характеристики товара и проверяется совпадение с условиями в конструкторе. При совпадении элемент привязывается к разделу, при этом, если он уже был привязан к другим разделам, то привязка сохраняется; при не совпадении отвязывается.

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

Как отвязать товары от раздела-коллекции?

Специальных инструментов, чтобы отвязать (сбросить) элементы от раздела-коллекции нет. Но в конструкторе коллекций всегда можно указать такое условие, при котором не подойдет ни один элемент, например, «название = тарам парам» и выполнить переиндексацию. Т.к. нет элементов инфоблока, подходящих такому условию, то они отвяжутся от раздела-коллекции.