Сравнение товаров — функциональность каталога, помогающая покупателю выбрать между похожими товарами по конкретным характеристикам бок о бок. Разберём штатный компонент сравнения в 1С-Битрикс, как он хранит список выбранных товаров и на что обратить внимание при настройке отображаемых для сравнения свойств.
Штатный механизм и компонент
Функциональность сравнения реализована в модуле "Каталог" через
компонент bitrix:catalog.compare.list для страницы
сравнения и вспомогательные обработчики добавления товара в список
сравнения, вызываемые с карточки товара или из списка каталога.
Список сравниваемых товаров хранится в сессии для неавторизованного
пользователя и может дополнительно сохраняться в профиле для
авторизованного, если это настроено в конкретной конфигурации.
Добавление товара в сравнение программно
<?php
use Bitrix\Catalog\Product\CompareTable;
CompareTable::addProduct($productId, $iblockId);
Прямой вызов метода нужен в нестандартных сценариях — например, при добавлении товара в сравнение по внешнему триггеру (импорт списка "избранное" из предыдущей сессии пользователя, интеграция с рекомендательным виджетом), где обычный клик по кнопке на карточке не задействован.
Нужна помощь с Битрикс?
Настройка свойств, участвующих в сравнении
Не каждое свойство инфоблока имеет смысл выводить в таблице сравнения — служебные и не различающиеся между товарами одной категории свойства только загромождают таблицу. Список свойств, участвующих в сравнении, настраивается в параметрах компонента сравнения отдельно от общего набора свойств инфоблока, что позволяет показать в сравнении именно те характеристики, которые реально помогают выбрать между похожими товарами (для электроники — технические параметры, для одежды — состав материала и размерная сетка).
Сравнение только внутри одного раздела или инфоблока
Практический смысл имеет сравнение товаров одного типа (два смартфона, два холодильника) — сравнение товаров из разных, несопоставимых категорий не несёт пользы для покупателя и обычно либо технически ограничивается настройками компонента, либо требует явной проверки в собственном коде, если стандартное ограничение не покрывает специфику структуры конкретного каталога.
Ограничение количества товаров в сравнении
Таблица сравнения с большим числом столбцов быстро становится нечитаемой — практический лимит (обычно 3–5 товаров одновременно) стоит закладывать в интерфейс сознательно, ограничивая и на уровне UX (кнопка добавления неактивна при достижении лимита), и, при необходимости, на уровне серверной проверки, если список формируется не только через штатный интерфейс.
Отдельное выделение отличий
Таблица сравнения приносит больше пользы, когда визуально выделяет строки, где значения товаров расходятся, — это экономит время покупателя, избавляя от построчного сравнения одинаковых характеристик вручную. Такая подсветка обычно не входит в базовую настройку компонента "из коробки" и требует доработки шаблона компонента сравнения под конкретный дизайн каталога.
Частые ошибки
- В сравнении показаны все свойства инфоблока без отбора. Таблица перегружена служебными характеристиками, не помогающими выбору.
- Нет ограничения количества товаров одновременно. Таблица становится нечитаемой при большом числе столбцов.
- Сравнение допускает товары из несопоставимых категорий. Итоговая таблица не несёт практической пользы покупателю.
Итог
Штатный механизм сравнения в 1С-Битрикс хранит список выбранных товаров в сессии или профиле пользователя и опирается на явно настроенный список свойств, участвующих в таблице сравнения, — без этой настройки таблица показывает либо слишком мало полезной информации, либо избыточно много служебных данных. Ограничение количества товаров и сравнение только внутри сопоставимой категории — обязательные условия того, чтобы функциональность реально помогала покупателю принять решение.
