msAddLinked

Купить msAddLinked в магазине дополнений →
31 августа 2016, 16:40

Описание

Добавление связанных товаров в виде дополнительных опций с увеличением цены добавляемого товара. В любой форме добавления товара в корзину можно выводить дополнительные товары, которые будут добавлены в качестве опций с последующим увеличением цены. В корзине и письмах возле товара выводятся добавленные опции.

ВАЖНО: в списке связанных выводятся только те товары, для которых в связях текущий товар или указанный сниппету msAddLinked.input является главным.

Сниппет msAddLinked.input

Предназначен для вывода списка связанных товаров и полей ввода. По умолчанию выводятся чекбоксы, но, в теории, можно задать любой тип, поддерживаемый атрибутом type тэга input. Проверена корректная работа типов text, number. Если в этих полях ввода указывать число, опции к товару в корзине будут добавлены в соответствующем количестве.

Параметры

Название Значение по умолчанию Описание
&tpl tpl.msAddLinked.input Чанк оформления
&product 0 (Текущий товар) ID главного товара
&link 0 (Все связи) ID связи
&inputType checkbox Тип поля ввода для каждого связанного товара
&priceTarget #price Селектор HTML элемента для вставки измененной цены
&priceOrigTarget #msal_price_original Селектор HTML элемента для получения изначальной цены
&fieldName pagetitle Поле ресурса для вывода названия
&toPlaceholder 0 Если указан этот параметр, то результат будет сохранен в плейсхолдер, вместо прямого вывода на странице

Сниппет msAddLinked.info

Предназначен для вывода в корзине и в письмах списка добавленных к товару опций.

Параметры

Название Значение по умолчанию Описание
&tpl tpl.msAddLinked.input Чанк оформления
&option {} Значение опции товара со связями в JSON
&fieldName pagetitle Поле ресурса для вывода названия

Пример вызова:

[[!msAddLinked.info? &option=`[[+option.msal]]`]]

В синтаксисе Fenom:

{$_modx->runSnippet('msAddLinked.info', ['option' => $product.options.msal])}

Если в корзине выводятся другие опции товаров, тогда следующий блок:

{foreach $product.options as $option}
    {var $options = $options ~ $option ~ '; '}
{/foreach}

необходимо заменить на такой:

{foreach $product.options as $k => $option}
    {if $k != 'msal'}
        {var $options = $options ~ $option ~ '; '}
    {/if}
{/foreach}

Системные настройки

Название Значение по умолчанию Описание
&msal_frontend_js [[+jsUrl]]web/default.js Путь к файлу JS
&msal_variable msal Название переменной в опциях