[msSetInCart] - Комплекты продуктов


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



Добавление продукта комплекта осуществляется во вкладке Связи продукта.
Пример — 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 руб.

По вопросам работы обращаемся в ТП.
Всем спасибо за внимание!
20 march 2017, 12:55    Володя   G+  
3    399 +9

Comments (3)

  1. Егор 19 april 2017, 10:42 # 0
    Добрый день!
    Подскажите, а возможно ли вывести товары (которые входят в комплект) в корзине, на основе тех товаров, которые уже добавлены в корзину (т.е. когда пользователь смотрит свою корзину а под ней отображаются товары, которые при покупке с товарами из корзины — будут стоить дешевле)?
    1. Володя 19 april 2017, 15:44 # 0
      Добрый день.
      Цена товара в корзине уже может быть изменена другим компонентом и быть меньше изначальной цены.
      Теже самые скидки, модификации товара…
      ТОвар в компрлекте может быть дешевле а может и нет… вообще очень много всяких может.
      Так что тут прежде надо продумывать логику под конкретную задачу, а потом уже думать как это выводить.
    2. Егор 19 april 2017, 16:07 # 0
      Предполагается использование msDiscount (для назначения скидок для групп пользователей), модификаций товаров не будет. Конечно желательно, чтобы скидка на товары из комплекта шла от цены со скидкой msDiscount.
      Еще такой вопрос — возможно ли в параметре master указать несколько id через запятую?
      You need to login to create comments.