msSetInCart

Компонент реализует функционал покупки комплектов товаров в Minishop2
Автор дополнения
Володя Володин
Пакетов
46
Закачек
22 796
Обычно отвечает в течение суток
Автор дополнения
Пакетов
46
Закачек
22 796
Обычно отвечает в течение суток
Версия 2.0.11-beta
Дата выпуска 07.11.2019
Загрузки 294
Просмотры 11 276
Внимание, этот компонент требует версию MODX не ниже 2.3 !
[msSetInCart] — Новая версия комплектов (наборов) продукта Minishop2. Кардинально отличается от предыдущей, просто обновиться не получится.



Добавление продукта комплекта осуществляется во вкладке Связи продукта.
Пример — s6200.h3.modhost.pro/katalog/11993.html
<cut/>

Активация наборов
Для активации функционала необходимо задать настройку 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.

По вопросам работы обращаемся в ТП.
Всем спасибо за внимание!

2.0.11-beta (07.11.2019)

  • Change "isWorkingClassKey", "isWorkingTemplates" [mssetincart]

2.0.10-beta (12.06.2018)

  • Improved compatibility with "msmulticurrency"

2.0.9-beta (04.03.2018)

  • Change "getDataSet" [mssetincart]

2.0.8-beta (14.09.2017)

  • Change "initialize,runProcessor" [mssetincart]

2.0.7 beta (26.06.2017)

  • Add "mode" [tpl.msSetInCart.set]

2.0.6 beta (26.06.2017)

  • Fix "get product" [msSetInCartMsOnBeforeAddToCart]

2.0.5 beta (16.06.2017)

  • Fix "formatData" [mssetincart]

2.0.4 beta (28.05.2017)

  • Fix "getSetData" [mssetincart]

2.0.3 beta (16.05.2017)

  • Fix "msSetInCartMsOnBeforeAddToCart"

2.0.2 beta (24.03.2017)

  • Fix "msSetInCartMsOnBeforeAddToCart"

2.0.1 beta (23.03.2017)

  • Fix "setValue" [js]
  • Fix "getProductSet" [msSetInCart]
  • Add "en" lexicon

2.0.0-beta (13.03.2017)

  • Initial

Последние обсуждения в сообществе MODX.pro