Comparison
Сниппет добавления товара в список сравнения.
Параметры
Название | По умолчанию | Описание |
---|---|---|
&list | default | Имя конфигурации сравнения. Если у вас на сайте разные группы товаров, то нужно указывать для них разные конфигурации. |
&list_id | 0 | Id ресурса, в котором вызван сниппет CompareList с конфигурацией, указанной в параметре list. Если пользователь может сравнить товары, то он увидит ссылку на этот ресурс. Обязательный параметр |
&tpl | tpl.Comparison.add | Чанк, содержащий специальные ссылки для работы со списком сравнения. Содержит разные служебные плейсхолдеры, которые лучше не менять. |
&minItems | 2 | Минимальное количество товаров для сравнения. |
&maxItems | 10 | Максимальное количество товаров для сравнения. |
&id | [[*id]] | Id товара, который будет добавляться к сравнению. По умолчанию - текущий ресурс. |
Вызов на странице
Вы можете вызывать один сниппет на странице товара:
[[!addComparison?
&list_id=`15`
]]
Или несколько, при выводе категории товаров, например в чанке tpl.msProducts.row:
[[!addComparison?
&list_id=`15`
&id=`[[+id]]`
]]
Если у вас на сайте есть разные типы товаров (холодильники и телефоны), во избежание их сравнения друг с другом, нужно указывать параметр &list.
[[!addComparison?
&list_id=`15`
&list=`mobile`
&id=`[[+id]]`
]]
Имейте в виду, что для указанного &list должна быть прописана конфигурация при вызове сниппета CompareList.
Вывод количества добавленных к сравнению товаров отдельным блоком
Например, вам нужно вывести отдельно в шапке или плавающим блоком количество товаров для сравнения. Для этого отдельно вызываем некэшируемый сниппет:
[[!addComparison?
&list_id=`id вашего списка сравнения`
&tpl=`tpl.Comparison.num`
]]
В чанке tpl.Comparison.num оставляем только оборачивающий
<div data-id="[[+id]]" data-list="[[+list]]"></div>
и саму ссылку c плейсхолдером и ВНИМАНИЕ! классом comparison-total
<a class="comparison-total">[[+total]]</a>
Логика работы
При нажатии на специальную ссылку, id товара добавляется в список сравнения, который хранится в сессии пользователя.
Если в списке достаточно товаров (больше одного, по умолчанию), то будет показана ссылка на страницу сравнения, указанную в параметре &list_id.
При переходе на эту страницу, сниппет CompareList получит переменную &list, загрузит указанную для неё конфигурацию и проведёт сравнение товаров списка.
Таким образом, вы сами определяете, какой товар с чем можно сравнивать - указанием &list при вызове.