[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 марта 2017, 09:55
modx.pro
2
5 229
+9
Поблагодарить автора Отправить деньги

Комментарии: 6

Егор
19 апреля 2017, 10:42
0
Добрый день!
Подскажите, а возможно ли вывести товары (которые входят в комплект) в корзине, на основе тех товаров, которые уже добавлены в корзину (т.е. когда пользователь смотрит свою корзину а под ней отображаются товары, которые при покупке с товарами из корзины — будут стоить дешевле)?
    Володя
    19 апреля 2017, 15:44
    0
    Добрый день.
    Цена товара в корзине уже может быть изменена другим компонентом и быть меньше изначальной цены.
    Теже самые скидки, модификации товара…
    ТОвар в компрлекте может быть дешевле а может и нет… вообще очень много всяких может.
    Так что тут прежде надо продумывать логику под конкретную задачу, а потом уже думать как это выводить.
    Егор
    19 апреля 2017, 16:07
    0
    Предполагается использование msDiscount (для назначения скидок для групп пользователей), модификаций товаров не будет. Конечно желательно, чтобы скидка на товары из комплекта шла от цены со скидкой msDiscount.
    Еще такой вопрос — возможно ли в параметре master указать несколько id через запятую?
      Сергей
      25 февраля 2019, 12:44
      0
      Здравствуйте!
      Подскажите, а возможно ли подключить вывод цены набора не только в карточки самого товара, но и в миникарточки товара
      [[!+mssetincart.total_cost]]
      ?
        Владислав
        07 марта 2019, 15:19
        0
        Володя, подскажите, насколько реально добавить комплект для модификации msOptionPrice2?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6