[msSetInCart] - Комплекты продуктов
[msSetInCart] — Новая версия комплектов (наборов) продукта Minishop2. Кардинально отличается от предыдущей, просто обновиться не получится.

Добавление продукта комплекта осуществляется во вкладке Связи продукта.
Пример — s6200.h3.modhost.pro/katalog/11993.html
Активация наборов
Для активации функционала необходимо задать настройку working_templates и перечислить в ней через запятую id необходимых шаблонов. Для продуктов с данным шаблоном будет загружена модифицированная вкладка Связи.
Добавлен столбец с ценами и кол-ом продукта. Фильтрация по виду связи и окно редактирования.

Создание набора
Прежде всего необходимо создать связь в настройках Minishop2

Затем можно перейти на страницу продукта и добавить к главному продукту — продукты набора

Можно указать кол-во продукта в наборе и стоимость. Стоимость можно задать и в процентном отношении.
Сниппет msSetInCart.set
Предназначен для вывода наборов продукта. По сути сниппет обертка. Инициализирует необходимые скрипты и запускает сниппет msProducts
Вывести продукты набора для текущего ресурса и добавить в корзину в виде опций.
Сниппет msSetInCart.initialize
Инициализирует необходимые скрипты. Необходим для поддержки функционала в корзине. Вызываем после сниппетов miniShop2.
Чанк tpl.msSetInCart.cart
Для вывода наборов в корзине магазина.
Для связанных продуктов добавленных в виде продуктов, добавляет идентификатор главного. Если задан параметр
setRemoveSlave (по умолчанию true) то при удалении главного продукта будут удалены и продукты входящие в его набор.
Для связанных продуктов добавленных в виде опций включает вывод информации.
Благодаря поддержке феном данный вызов можно оформить прямо в шаблоне корзины таким образом
Чанк tpl.msSetInCart.info
Для информации о наборе продукта. Используется при выводе информации в корзине, а так же при выводе информации о заказе. Можно указать свой шаблон вывода используя настройку tpl_order_info
Необходимое
— все формы продукта должны иметь класс ms2_form
— формы продукта набора дополнительно должны иметь класс mssetincart-product
— чанк главного продукта должен иметь инпут
— классы для вывода информации о наборе mssetincart-cost — стоимость, mssetincart-mass — масса
например
PS Новая версия предназначена под новую версию minishop2.
Стоимость пакета будет поднята до 690 руб.
По вопросам работы обращаемся в ТП.
Всем спасибо за внимание!

Добавление продукта комплекта осуществляется во вкладке Связи продукта.
Пример — s6200.h3.modhost.pro/katalog/11993.html
Активация наборов
Для активации функционала необходимо задать настройку working_templates и перечислить в ней через запятую id необходимых шаблонов. Для продуктов с данным шаблоном будет загружена модифицированная вкладка Связи.
Добавлен столбец с ценами и кол-ом продукта. Фильтрация по виду связи и окно редактирования.

Создание набора
Прежде всего необходимо создать связь в настройках Minishop2

Затем можно перейти на страницу продукта и добавить к главному продукту — продукты набора

Можно указать кол-во продукта в наборе и стоимость. Стоимость можно задать и в процентном отношении.
Сниппет msSetInCart.set
Предназначен для вывода наборов продукта. По сути сниппет обертка. Инициализирует необходимые скрипты и запускает сниппет msProducts
- tpl — Чанк оформления
- link — Идентификатор связи
- master — Идентификатор главного продукта
- setInput — Тип поля связи продуктов набора
- setMode — Режим обработки продуктов набора
- setActive — Состояние активности продукта набора
[[!msSetInCart.set?
&link=`1`
&setActive=`0`
&setMode=`cart`
&setInput=`checkbox`
]]Вывести продукты набора для текущего ресурса и добавить в корзину в виде опций.
[[!msSetInCart.set?
&link=`3`
&setActive=`1`
&setMode=`option`
&setInput=`checkbox`
]]Сниппет msSetInCart.initialize
Инициализирует необходимые скрипты. Необходим для поддержки функционала в корзине. Вызываем после сниппетов miniShop2.
[[!msSetInCart.initialize]]Чанк tpl.msSetInCart.cart
Для вывода наборов в корзине магазина.
Для связанных продуктов добавленных в виде продуктов, добавляет идентификатор главного. Если задан параметр
setRemoveSlave (по умолчанию true) то при удалении главного продукта будут удалены и продукты входящие в его набор.
Для связанных продуктов добавленных в виде опций включает вывод информации.
Благодаря поддержке феном данный вызов можно оформить прямо в шаблоне корзины таким образом
{if $product.options.mssetincart}
{$_modx->getChunk('tpl.msSetInCart.info', $product.options.mssetincart)}
{/if}Чанк tpl.msSetInCart.info
Для информации о наборе продукта. Используется при выводе информации в корзине, а так же при выводе информации о заказе. Можно указать свой шаблон вывода используя настройку tpl_order_info
Необходимое
— все формы продукта должны иметь класс ms2_form
— формы продукта набора дополнительно должны иметь класс mssetincart-product
— чанк главного продукта должен иметь инпут
<input type="hidden" name="mssetincart_set" value="[[*id]]"/>определяет принадлежность к главному продукту— классы для вывода информации о наборе mssetincart-cost — стоимость, mssetincart-mass — масса
например
<span class='mssetincart-cost mssetincart-[[*id]]'>[[+price]]</span> [[%ms2_frontend_currency]]
<span class='mssetincart-mass mssetincart-[[*id]]'>[[+weight]]</span> [[%ms2_frontend_weight_unit]]PS Новая версия предназначена под новую версию minishop2.
Стоимость пакета будет поднята до 690 руб.
По вопросам работы обращаемся в ТП.
Всем спасибо за внимание!
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Подскажите, а возможно ли вывести товары (которые входят в комплект) в корзине, на основе тех товаров, которые уже добавлены в корзину (т.е. когда пользователь смотрит свою корзину а под ней отображаются товары, которые при покупке с товарами из корзины — будут стоить дешевле)?
Цена товара в корзине уже может быть изменена другим компонентом и быть меньше изначальной цены.
Теже самые скидки, модификации товара…
ТОвар в компрлекте может быть дешевле а может и нет… вообще очень много всяких может.
Так что тут прежде надо продумывать логику под конкретную задачу, а потом уже думать как это выводить.
Еще такой вопрос — возможно ли в параметре master указать несколько id через запятую?
Подскажите, а возможно ли подключить вывод цены набора не только в карточки самого товара, но и в миникарточки товара ?