Skip to content
  1. Компоненты
  2. Comparison
  3. addComparison

Comparison

Сниппет добавления товара в список сравнения.

Параметры

НазваниеПо умолчаниюОписание
&listdefaultИмя конфигурации сравнения. Если у вас на сайте разные группы товаров, то нужно указывать для них разные конфигурации.
&list_id0Id ресурса, в котором вызван сниппет CompareList с конфигурацией, указанной в параметре list. Если пользователь может сравнить товары, то он увидит ссылку на этот ресурс. Обязательный параметр
&tpltpl.Comparison.addЧанк, содержащий специальные ссылки для работы со списком сравнения. Содержит разные служебные плейсхолдеры, которые лучше не менять.
&minItems2Минимальное количество товаров для сравнения.
&maxItems10Максимальное количество товаров для сравнения.
&id[[*id]]Id товара, который будет добавляться к сравнению. По умолчанию - текущий ресурс.

Вызов на странице

Вы можете вызывать один сниппет на странице товара:

modx
[[!addComparison?
  &list_id=`15`
]]

Или несколько, при выводе категории товаров, например в чанке tpl.msProducts.row:

modx
[[!addComparison?
  &list_id=`15`
  &id=`[[+id]]`
]]

Если у вас на сайте есть разные типы товаров (холодильники и телефоны), во избежание их сравнения друг с другом, нужно указывать параметр &list.

modx
[[!addComparison?
  &list_id=`15`
  &list=`mobile`
  &id=`[[+id]]`
]]

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

Вывод количества добавленных к сравнению товаров отдельным блоком

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

modx
[[!addComparison?
  &list_id=`id вашего списка сравнения`
  &tpl=`tpl.Comparison.num`
]]

В чанке tpl.Comparison.num оставляем только оборачивающий

modx
<div data-id="[[+id]]" data-list="[[+list]]"></div>

и саму ссылку c плейсхолдером и ВНИМАНИЕ! классом comparison-total

modx
<a class="comparison-total">[[+total]]</a>

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

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

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

При переходе на эту страницу, сниппет CompareList получит переменную &list, загрузит указанную для неё конфигурацию и проведёт сравнение товаров списка.

Таким образом, вы сами определяете, какой товар с чем можно сравнивать - указанием &list при вызове.