[msAddLinked] Опции товара с изменением цены


Описание

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

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

Сниппет msAddLinked.input

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

Параметры











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

Сниппет msAddLinked.info

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






НазваниеЗначение по умолчанию Описание
&tpl tpl.msAddLinked.inputЧанк оформления &key0 (Текущий товар)Ключ элемента в корзине &fieldName pagetitleПоле ресурса для вывода названия

Пример вызова:
[[!msAddLinked.info? &option=`[[+option.msal]]`]]

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






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

Заключение

Компонент отправлен на модерацию в магазин, скоро будет доступен для покупки по символической цене — 490 руб.
Создан по заказу Stan Ezersky, за что ему большое спасибо.

Обновлено 04.08.2016


Добавлен демо-сайт: https://demo.compaero.ru/
Немного изменен принцип сохранения опций в корзине и в заказе, смотрите в документации.
Воеводский Михаил
21 июля 2016, 11:57
modx.pro
8
10 264
+7

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

Stan Ezersky
21 июля 2016, 15:58
+3
Компонент вышел отличный, за что спасибо Михаилу!

Кто не понял, что за компонент и что он делает, представьте, у вас есть категории товаров «Цветы» и «Дополнительные товары» (упаковка, плёнка, бумага, лента, верёвка, тесьма и т.п.).

Имеем карточку товара «Роза красная», к которому через связи привязаны дополнительные товары. Кроме того, что мы можем стандартно набрать роз по количеству, мы ещё с помощью этого компонента можем собрать полноценный оформленный букет не выходя из карточки товара — через связи выводятся «Дополнительные товары» — каждый товар с чекбоксом, отметив который, изменится общая цена.

В корзине будет виден основной товар с выбранными дополнениями.

Также, есть возможность добавлять с количеством.
    Евгений
    21 июля 2016, 21:10
    0
    Если менять количество основного товара, то количество допов тоже меняется?

    Какое отличие от modstore.pro/packages/ecommerce/mssetincart?
      Stan Ezersky
      21 июля 2016, 21:22
      +1
      Это не комплект товаров, а 1 товар с модификациями
        Воеводский Михаил
        21 июля 2016, 21:37
        +1
        Набор — фиксированное количество дополнительных товаров. Здесь же можно варьировать и список дополнительных товаров, и их количество. Более того, в корзине опции не являются отдельными товарами, тк на их суммарную стоимость увеличивается цена основного товара.
          Денис
          21 июля 2016, 23:35
          0
          А есть демо на тестовом примере?
            Андрей Минаков
            22 июля 2016, 01:12
            +1
            Любопытный компонент, приходилось реализовывать нечто подобное, но значительно более трудоемким способом.
            Неплохо бы увидеть демо.
              Евгений
              22 июля 2016, 17:42
              0
              Лучше 1 раз увидеть, чем 100 раз прочитать.
              Демо бы.
                Stan Ezersky
                25 июля 2016, 07:54
                +2
                Вот наглядный пример (кликабельно, gif)

          Воеводский Михаил
          22 июля 2016, 23:00
          +2
          на следующей неделе сделаю демо.
            Евгений
            03 августа 2016, 09:06
            0
            Что с демо?
            Почему бы не скинуть адрес этого сайта по кроватям?

            В каком виде опции хранятся? Можно выборку по ним делать?
              Воеводский Михаил
              03 августа 2016, 18:18
              +2
              Демо в процессе завершения.
              Опции, которые предлагаются для добавления — обычные товары MS2, привязанные через стандартный механизм связей. Можно их дополнить картинками и описаниями, создав под них отдельную страницу — появится смысл в основном товаре названия сделать ссылками на эти страницы с подробным описанием.
                Евгений
                04 августа 2016, 05:51
                0
                Есть возможность добавить несколько уровней опций, с разными номерами связей, например:
                link 1: Синяя подсветка фар — Зеленая подсветка фар — Желтая подсветка фар
                link 2: Синяя подсветка дна — Зеленая подсветка дна — Желтая подсветка дна
                link 3: Гос номер
                link 4: Обивка 1 — Обивка 2 — … — Обивка 10
                ?

                Если да, то как реализуется?
                Вызывать каждый раз msAddLinked.input?

                И еще я не совсем понял про тип опции.
                Более того, в корзине опции не являются отдельными товарами, тк на их суммарную стоимость увеличивается цена основного товара.
                Опции, которые предлагаются для добавления — обычные товары MS2, привязанные через стандартный механизм связей.
                Это обычные товары, но в корзинке показываются только в виде доп. опций к основному товару?
                Можно их вывести в виде отдельных товаров?
                  Воеводский Михаил
                  04 августа 2016, 12:34
                  +1
                  И еще я не совсем понял про тип опции.

                  Это обычные товары, но в корзинке показываются только в виде доп. опций к основному товару?
                  Можно их вывести в виде отдельных товаров?
                  demo.compaero.ru/smartphones/smartfon-apple-iphone-6-64gb,-serebristyij.html
                  Посмотрите компонент в работе.

                  Есть возможность добавить несколько уровней опций, с разными номерами связей, например:

                  Если да, то как реализуется?
                  Вызывать каждый раз msAddLinked.input?
                  Да, здесь отдельно для каждой связи нужно будет вызвать сниппет. Важно: все опции, даже в рамках разных связей, будут взаимодополняющими. В качестве решения Вы можете добавить скрипт, который при выборе любой опции сразу будет блокировать для выбора все остальные группы опций.
                    Евгений
                    04 августа 2016, 18:35
                    0
                    В качестве решения Вы можете добавить скрипт, который при выборе любой опции сразу будет блокировать для выбора все остальные группы опций.
                    Зачем блокировать для выбора все остальные группы опций?
                    Наверно нужно блокировать остальные опции внутри каждой группы? Самое простое — радиокнопки поставить на каждый линк.
                    Например, чтобы нельзя было выбрать одновременно и синюю и зеленую подсветку фар, но можно было выбрать подсветку дна и номер.
                      Воеводский Михаил
                      04 августа 2016, 18:37
                      0
                      Значит, я не совсем правильно понял идею.
                      Да, можно и так.
            Воеводский Михаил
            04 августа 2016, 12:52
            +1
            Заметка обновлена:
            1) Добавлена ссылка на демо-сайт
            2) Актуализирована информация о сниппетах (внесены небольшие изменения в пакет)
              Воеводский Михаил
              04 августа 2016, 20:33
              +1
              Добавлена корректная работа с переключателями (radio). Теперь можно их использовать в качестве контролов для указания опций.
              Компонент обновлен в магазине.
                Raimei
                09 августа 2016, 19:53
                0
                Можно их дополнить картинками и описаниями
                То есть, практически без лишних хлопот я могу добавить картинку для дополнительной опции, верно?

                P.S. Ошибся веткой, но всё же
                  Воеводский Михаил
                  09 августа 2016, 21:07
                  +1
                  Можно отобразить картинку возле каждой опции, если не требуется менять картинку основного товара в зависимости от выбранных опций.
                    Raimei
                    09 августа 2016, 21:40
                    0
                    Интересно, а в связке с quickview работать будет?
                      Воеводский Михаил
                      09 августа 2016, 21:56
                      0
                      В теории — да, можете проверить. Единственное, что придется сделать отдельно — подключить JS руками, тк он подключается сниппетом, а при работе с QuickView карточка товара будет грузиться по AJAX.
                  Андрей
                  12 мая 2018, 18:21
                  0
                  Добрый день. Подскажите, какой чанк прописать для опций с &inputType=`radio`? У меня просто получается одинаковый name у них, в результате чего их все можно выбрать.
                  Вот мой чанк:
                  <input type="hidden" id="msal_price_original" value="{$_modx->getPlaceholder('price')}">
                  <input type="hidden" id="msal_hash" value="{$hash}" name="msal_key">
                  <input type="hidden" id="msal_show_cost" value="{$show_cost}" name="msal_show_cost">
                  {foreach $inputs as $input}
                      <div class="col-lg-4 col-md-4 col-xs-4 complect_wrap">
                          <label for="msal_{$input.id}"><span id="msal_cost_{$input.id}"></span>
                          <input type="{$input.input_type}" name="options[{$var}][{$input.id}]"
                                 class="form-control msal_input"
                                 id="msal_{$input.id}"
                                 data-price="{$input.price}"
                                 minlength="0"
                                 data-discount="{$input.discount != '' ? $input.discount : ' '}"
                                 {if $input.input_type != 'checkbox'}value="{$input.value}"{/if}
                                 {if $input.input_type == 'checkbox' and $input.value !== ''}checked{/if}> 
                          {if $input.thumb?}
                              <div class="complect_img text-center">
                                  <img src="{$input.image | phpthumbon : "w=150&h=150&zc=0"}" alt="{$input.pagetitle}" title="{$input.pagetitle}"/>
                              </div>
                          {else}
                              <div class="complect_img text-center">
                                  <img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
                                   srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
                                   alt="{$input.pagetitle}" title="{$input.pagetitle}"/>
                              </div>
                          {/if}
                          <div class="complect_name text-center">
                              {$input.pagetitle}
                          </div>   
                          <div class="complect_price text-center">
                              {$input.price} <i class="fa fa-rub" aria-hidden="true"></i>
                          </div>
                          </label>
                      </div>
                  {/foreach}
                    Андрей
                    12 мая 2018, 18:28
                    0
                    Отвечу сам себе «для будущих поколений» ))
                    name="{$input.input_name}"
                  Купчинский Михаил
                  11 августа 2016, 17:15
                  0
                  Михаил, добрый день!
                  Подскажите, можно ли доработать функционал данного компонента, для реализации схемы как на Озоне.
                  www.ozon.ru/context/detail/id/135892866/
                  Т.е. Комплект продается с некоторой скидкой от общей стоимости?
                    Воеводский Михаил
                    11 августа 2016, 19:51
                    0
                    Михаил, добрый день!
                    По какой формуле должна высчитываться скидка? Скорее всего, это можно будет доработать в рамках поддержки.
                      Купчинский Михаил
                      11 августа 2016, 20:19
                      0
                      Речь идет о скиде на весь комплект во сколько-то процентов (по крайней мере так озвучил заказчик).
                      Либо только на основной продукт. Важно, чтоб цена комплекта была ниже, чем сумма цен всех товаров по отдельности. Ну и эта скидка может быть разной от комплекта к комплекту.
                      Но я постараюсь уточнить требуемый функционал.
                        Воеводский Михаил
                        11 августа 2016, 20:26
                        0
                        Уточните условия. Я здесь вижу варианты:
                        1) За каждую опцию добавляется фиксированная величина скидки
                        2) У каждой опции своя величина скидки
                        Скидки применяются к стоимости набора или только к стоимости товара, сумма выбранных является полной скидкой.
                          Купчинский Михаил
                          12 августа 2016, 12:48
                          0
                          Михаил, добрый день!
                          Предложил заказчику выбрать из трех вариантов реализации:

                          1. Зафиксировать скидку для любого комплекта. (создается любой комплект, и от стоимости комплекта отнимается допустим 10%)

                          2. Устанавливать конкретную скидку в момент создания комплекта (создается конкретный комплект с указанием конкретной скидки 500 р, и от стоимости конкретного комплекта отнимается эти 500 р.)

                          3. Для каждого дополнительного товара в комплекта устанавливать свою величину скидки, которая будет вычитаться из общей стоимости комплекта.
                          (создается комплект в котором главный товар А 2000, дополнительный товар Б 1000 и ему назначается скидка 200 р, дополнительный товар С 5000 и ему назначается скидка 100 р. И от стоимости комплекта 2000+1000+500 отнимается скидка товара Б 200 р. и скидка товара С 100р Т.е. 2500-200-100= 2200 р.)

                          Заказчик выбрал Третий вариант.
                            Воеводский Михаил
                            12 августа 2016, 13:27
                            0
                            Михаил, это возможно сделать в рамках поддержки. Напишите в магазине.
                              Купчинский Михаил
                              12 августа 2016, 13:44
                              0
                              Ок, я тогда его сейчас куплю и напишу в техподдержку.
                                Купчинский Михаил
                                12 августа 2016, 13:55
                                0
                                Михаил, написал в техподдержку
                                  Воеводский Михаил
                                  12 августа 2016, 14:01
                                  0
                                  Увидел, ответил.
                                    Купчинский Михаил
                                    18 августа 2016, 10:03
                                    0
                                    Михаил, добрый день! Не удалось осуществить мою просьбу?
                                      Воеводский Михаил
                                      18 августа 2016, 11:09
                                      0
                                      Михаил, приветствую!
                                      Удалось, в скором времени загружу обновление.
                                        Антон
                                        Антон
                                        03 января 2017, 18:45
                                        0
                                        Обновите, пожалуйста, документацию. Много новых функции появилось, а что это и как ими пользоваться не понятно.
                                        Воеводский Михаил
                                        03 января 2017, 18:52
                                        +1
                                        После каникул обновлю.
                    Андрей
                    15 января 2017, 20:12
                    0
                    Правильно ли я понял, если стандартно сделать связи товарам и вывести их в карточке, то при добавлении они выводятся как отдельные товары. Этого вполне достаточно, если основной товар заказа один. А если их более одного, то уже не понятно, к какому из них принадлежать эти доп товары.
                    С помощью Вашего компонента, те товары, что выведены в виде связей при добавлении в корзину будут туда попадать как раз в виде опций к конкретному основному товару?
                      Stan Ezersky
                      16 января 2017, 08:29
                      +1
                      Вот живой пример, чтобы представляли не со слов
                        Андрей
                        16 января 2017, 08:31
                        0
                        Класс. То что нужно. Добавление в корзину с помощью количества Вы как то сами допиливали или это «из коробки»?
                          Stan Ezersky
                          16 января 2017, 08:33
                          0
                          Всё есть в коробке:)
                          Чекбоксы
                          Инпуты
                          Рэйдио

                          Допиливать ничего не надо, я заказывал этот компонент под свои задачи и многое предусмотрел, разработчик отлично дополнил.
                            Андрей
                            16 января 2017, 08:34
                            0
                            Тогда огромное Вам и разработчику спасибо!
                              Stan Ezersky
                              16 января 2017, 08:35
                              0
                              Спасибо разработчику:)
                                Андрей
                                16 января 2017, 08:58
                                0
                                А можете скинуть пожалуйста чанк оформления вот в том виде, что у вас на сайте?
                      Fedor
                      15 февраля 2017, 14:57
                      0
                      Добрый день. а можно с помощью данного компонента сделать связные опции. например у меня есть один товар у него есть допустим три опции размера (L, S, M), и допустим у L и М есть только в двух цветах (желтый и красный), а у S только в красном. можно такое реализовать с помощью данного компонента?
                        Stan Ezersky
                        15 февраля 2017, 17:59
                        0
                        А через связи почему не сделаете? Практически «из коробки» такое доступно.
                        Вот пример
                          Fedor
                          20 февраля 2017, 12:18
                          0
                          А скажите где можно посмотреть, или почитать как такое реализовать? спасибо.
                            Stan Ezersky
                            20 февраля 2017, 13:30
                            0
                            Практически вёрсткой делается + документация к miniShop2
                              Воеводский Михаил
                              20 февраля 2017, 15:38
                              0
                              Создаете связь ms2, настраиваете их между товарами, а при вызове сниппета msAddLinked.input указываете параметр &link c ID нужной связи.
                          Вася
                          08 марта 2017, 12:50
                          0
                          А в админке в заказах видно, что связанные товары относятся к главному товару?
                          Леонид
                          06 апреля 2017, 02:58
                          0
                          Приветствую, Прошу помощи, Опубликуйте пожалуйста Конкретную конструкцию вывода форм для «чайников»:
                          Вызов msAddLinked.input в шаблоне-карточке ms.Product в формате Fenom с опциями+простой вызов
                          Вызов msAddLinked.info в таких-же форматах.
                          Чем проще система установки и эксплуатации, тем больше это дополнение будет пользоваться спросом из-за своей простоты, напишите пожалуйста разжёванный пример для «ЧАЙНИКОВ»
                            Воеводский Михаил
                            09 апреля 2017, 18:27
                            0
                            Приветствую.

                            Поскольку стандартный синтаксис поддерживается и в fenom чанках, Вы спокойно можете копировать примеры из документации. Если что-то не заработает, пишите в поддержку в магазине, тк может потребоваться доступ к админке.
                          Леонид
                          08 апреля 2017, 20:23
                          0
                          Или откройте демо админку
                            Adorazel
                            22 июня 2017, 13:18
                            0
                            нужно изменить 22 и 23 строки в default.js
                            add_price = parseInt($(this).data('price').replace(' ', ''));
                            add_discount = parseInt($(this).data('discount').replace(' ', ''));
                            а в чанке изменить

                            data-discount="{$input.discount != '' ? $input.discount : ' '}"
                              Воеводский Михаил
                              22 июня 2017, 15:33
                              +1
                              Спасибо!
                              Изменения внес, скоро загружу обновленный пакет.
                                Купчинский Михаил
                                31 июля 2017, 13:08
                                0
                                Михаил, добрый день! Правки представленные выше дают ошибку:
                                Uncaught TypeError: $(...).data(...).replace is not a function
                                  Воеводский Михаил
                                  31 июля 2017, 13:17
                                  0
                                  Добрый день.
                                  Позже проверю, спасибо.
                                    Купчинский Михаил
                                    31 июля 2017, 14:47
                                    0
                                    Просто компонент не правильно складывает цену комплекта из за пробела в ценах формата 1 000 р.
                                Купчинский Михаил
                                31 июля 2017, 10:03
                                0
                                такая конструкция дает ошибку
                                Uncaught TypeError: $(...).data(...).replace is not a function
                                Adorazel
                                27 июня 2017, 08:34
                                0
                                А еще выяснилось, что в режиме Инкогнито (без авторизации в админке) отчего-то не происходит инициализация скриптов. Пришлось прописать вручную.
                                Виктор Долгий
                                12 июля 2017, 18:56
                                0
                                Добрый день. Вот какой вопрос, я использую пока что msOptionsPrice2 для опций товаров и выставления цен. Мне в нем все нравится, кроме того, что если опции товаров выводить чекбоксами, то сумма определяется не по всем опциям, а только по последней, использую сейчас, по большей части в списке товаров с mSearch2. Так вот, msOptionsPrice2 при выставлении фильтра mSearch2 проставляет и опции в самих товаров (напомню, в списке). Удобнейшая вещь. Так вот, как у msAddLinked дело обстоит с mSearch2, с работой опций в списке товаров?
                                  Воеводский Михаил
                                  31 июля 2017, 10:41
                                  0
                                  Добрый день.

                                  В теории — хорошо, на практике не проверялось. Если не заработает, напишите в поддержку — докрутим.
                                  Ника
                                  14 июля 2017, 12:25
                                  0
                                  Добрый день!
                                  Можно ли данным компонентом реализовать изменение цены в зависимости от веса?

                                  Юрий
                                  12 августа 2017, 19:10
                                  0
                                  В чанке корзины tpl.msCart у меня вывод опций выглядит следующим образом:
                                  {if $product.options?}
                                                                  <div class="small">
                                                                      {$product.options | join : '; '}
                                                                  </div>
                                                              {/if}
                                  в документации приведен такой код:
                                  {foreach $product.options as $option}
                                      {var $options = $options ~ $option ~ '; '}
                                  {/foreach}
                                  видимо эти изменения сделаны недавно?
                                  подскажите рабочий код в моем случае.
                                  если я заменяю мой код на Ваш, то ничего не выводится.
                                    Купчинский Михаил
                                    08 сентября 2017, 13:00
                                    0
                                    Добрый день! После установки последней версии выдает ошибку msal is not defined при открытии карточки товара.
                                    Прошлая версия работала.
                                      Купчинский Михаил
                                      08 сентября 2017, 14:20
                                      0
                                      Пришлось откатиться на версию 0.3.3-pl
                                      Но эта версия не правильно суммирует Цену товара и опции к ней
                                        Купчинский Михаил
                                        08 сентября 2017, 15:11
                                        0
                                        В версии 0.3.4 пришлось добавить "" в сниппете на строке 158
                                        msal.show_cost="'.$showCost.'";
                                        Тогда ошибка пропадает
                                          Купчинский Михаил
                                          08 сентября 2017, 15:58
                                          0
                                          Но дополнение все равно не правильно работает — у товара 4 опции — при выборе одной — все правильно суммируется, при выборе 2 и более к цене товара прибавляется только последняя цена опции. Опции выводятся в виде чекбоксов
                                            Воеводский Михаил
                                            08 сентября 2017, 16:13
                                            0
                                            Обновите компонент.
                                            Если косяк с несколькими опциями сохранится, в поддержку магазина скиньте доступ к админке сайта.
                                              Купчинский Михаил
                                              08 сентября 2017, 16:32
                                              0
                                              Михаил, в версии 0.3.3 с изменением строчек до вида
                                              add_price = parseInt($(this).data('price').toString().replace(' ', ''));
                                                          add_discount = parseInt($(this).data('discount').toString().replace(' ', ''));
                                              Все правильно работает, и опции правильно складываются.
                                              Сейчас попробую 0.3.5 поставить — посмотрю как в ней будут опции складываться
                                                Купчинский Михаил
                                                08 сентября 2017, 16:41
                                                0
                                                Да, на 0.3.5 тоже с опциями, что и на 0.3.4 Складываться перестают.
                                                Вам на почту доступ скинуть?
                                        Stan Ezersky
                                        09 сентября 2017, 21:26
                                        0
                                        Всё шикарно работает, вот пример с заказанным обновлением, которое Михаил сделал бесплатно.
                                      Владимир Бабусенко
                                      13 сентября 2017, 11:43
                                      0
                                      Вопрос такого характера, с компонентом возможно не связан. Допустим уже есть 1000 товаров, у них есть связи с дополнительными товарами. Нужно добавить всем этим товарам (либо частично) еще один дополнительный товар, каким образом это реализовать, пишим скрипт, либо есть инструменты?
                                        web3
                                        13 сентября 2017, 12:39
                                        1
                                        0
                                        Чую нарвусь на неприятности, но есть один инструмент, называется руки. А по факту, только спецефичный плагин передирающий каталог и по необходимым признакам добавлял товар.
                                          Воеводский Михаил
                                          13 сентября 2017, 12:41
                                          +1
                                          Поскольку дополнительную выборку компонент производит через pdoTools, при вызове сниппета поддерживаются параметры &resources и &parents. Попробуй их и расскажи, ибо после добавления не было полноценной возможности их протестировать.
                                        Андрей Бордиян
                                        04 октября 2017, 17:16
                                        0
                                        При выборе допов к товару, можно ли сделать, чтобы изображение товара изменялось? Рядом с доп опцией можно ли поставить картинку? Например, человеку нужно пластиковое окно и к нему он добавляет сетку и картинка сетки добавляется к изображению товара.

                                        Сохраняются ли выбранные параметры в личном кабинете пользователя и в каком формате приходит это все на почту?
                                          Воеводский Михаил
                                          04 октября 2017, 20:47
                                          0
                                          1. Нет
                                          2. Можно, если изменить чанк вывода опций и добавить в него вызов сниппета с генерацией галереи/выборкой картинки
                                          3. Сохраняются в JSON-формате. Для вывода в человеческом виде есть специальный сниппет
                                          mngatoff
                                          19 декабря 2017, 14:38
                                          0
                                          Здравствуйте!

                                          вопрос: можно ли сделать так, чтобы товары, которые крепятся в виде опций, нельзя было купить по отдельности? ну то есть, я знаю что можно, но сделан ли этот функционал в самом дополнении?
                                            Воеводский Михаил
                                            19 декабря 2017, 14:45
                                            0
                                            В дополнении это не реализовано, да и никак это не сделать.
                                            Вынесите такие товары в отдельный раздел и не показывайте их покупателю. Для еще большей надежности можно добавить плагин на событие msOnBeforeAddToCart.
                                            Ivanov Alexandr
                                            23 февраля 2018, 23:01
                                            0
                                            Возможно ли к каждой опции подставить выбор количества?
                                              Воеводский Михаил
                                              24 февраля 2018, 00:51
                                              +1
                                              Возможно. Используйте параметр
                                              &inputType=number
                                              Добавьте апострофы.
                                                Ivanov Alexandr
                                                24 февраля 2018, 10:18
                                                0
                                                Не могли бы вы на демо сайте сделать что бы в живую увидеть? Спасибо.
                                                  Воеводский Михаил
                                                  24 февраля 2018, 10:46
                                                  0
                                                  В ближайшее время нет возможности. Вместо ожидания Вы можете создать тестовый сайт и посмотреть на нем.
                                                    Ivanov Alexandr
                                                    24 февраля 2018, 12:12
                                                    0
                                                    Как все это реализовать в админке можете подсказать нигде в документцаии не нашел.
                                                    Насколько я понял это дополнительные опции. С каким параметрами создавать эту опцию?
                                                      Воеводский Михаил
                                                      24 февраля 2018, 20:10
                                                      0
                                                      Самое простое — используйте стандартные связи товаров ms2.
                                                        Ivanov Alexandr
                                                        24 февраля 2018, 21:31
                                                        0
                                                        Сачала необходимо создать такие товары а потом привязывать их к основному товару? И на странице основного выводить уже привязанные правильно?
                                                          Воеводский Михаил
                                                          25 февраля 2018, 00:07
                                                          0
                                                          Да.
                                                          Помимо связей есть возможность указать раздел с опциями через &parents= и/или отдельные ресурсы через &resources=
                                                          НА входе ВХОДЕ принимаются любые параметры, которые потом для выборки передаются в pdoTools.
                                                      Ivanov Alexandr
                                                      24 февраля 2018, 12:37
                                                      0
                                                      вы мне можете подсказать с помощью вашего дополнения я смогу реализовать вот такой функционал razgovorpodushek.ru/catalog/postelnoe-bele/1p/newcollection/labirintisnov/ добавление количества определенной опции?
                                                        Воеводский Михаил
                                                        24 февраля 2018, 20:13
                                                        0
                                                        Количество опции — можно. Но выбор опции из выпадающего списка одновременно с указанием количества — нет.
                                              Андрей
                                              12 мая 2018, 16:19
                                              0
                                              Подскажите, пожалуйста, а как на Fenom выводить сниппет msAddLinked.input только там, где есть нужная связь у товара?
                                                Андрей
                                                04 июня 2018, 16:54
                                                0
                                                Добрый день.
                                                Можно ли выводить только те товары в связях, которые опубликованы?
                                                  Димыч
                                                  13 августа 2018, 16:50
                                                  0
                                                  Не могу подключить msAddLinked.info в корзине — в $product.options пусто.
                                                  msAddLinked.input вроде нормально отрабатывает.
                                                  Может изменился вызов сниппета в новой версии ms2?
                                                  В техподдержке не отвечают.
                                                    Димыч
                                                    14 августа 2018, 01:58
                                                    0
                                                    Проблема решена, мой косяк.
                                                    Спасибо Михаилу.
                                                    Rootiys
                                                    16 ноября 2018, 18:42
                                                    0
                                                    Пробую вывести в списке товаров
                                                    [[!msAddLinked.input?
                                                    &product=`[[+id]]`
                                                    &link=`2`
                                                    &priceTarget=`#price-[[+id]]`
                                                    &tpl=`catalog`
                                                    ]]
                                                    В чанке catalog цену заворачиваю в
                                                    <span id="price-[[+id]]">[[+price]]</span>
                                                    Но ничего не работает. Что я делаю не так?
                                                      Воеводский Михаил
                                                      16 ноября 2018, 21:50
                                                      0
                                                      Для визуального отображения изменения цены в каталоге требуется доработка JS, в ближайшее время на это нет ресурсов.

                                                      Если же Вы добавите в корзину из каталога, то товар будет добавлен вместе с опциями, стоимость рассчитается правильно.
                                                      Владислав
                                                      06 марта 2019, 15:26
                                                      0
                                                      Михаил, подскажите еще вот что (жаль, что демо не работает)
                                                      1. Доп. опции — НЕ отдельные товары, как я понял. Список доп.опций настраивается на карточке товара? А их Название — Стоимость?
                                                      2. Можно ли как-то сделать один список для 30 товаров из 100 (по родителю, например).
                                                        Воеводский Михаил
                                                        06 марта 2019, 15:31
                                                        0
                                                        1. Отдельные товары. Могут быть добавлены как связи к основному товару, так и путем выборки через pdoResources
                                                        2. Можно. Для сниппета msAddLinked.input, который используется для вывода опций, поддерживаются параметры pdoResources.
                                                        Владислав
                                                        07 марта 2019, 15:24
                                                        0
                                                        И еще:
                                                        а реально добавить опции товара для модификации msOptionPrice2?
                                                        Понятно, что связь применяется для самого товара. А вот как применить их для модификаций?
                                                        Например, для синего телефона выводить синий чехол, а для красного — красный.
                                                          Воеводский Михаил
                                                          07 марта 2019, 15:37
                                                          0
                                                          Из коробки такого нет. В целом же, оба компонента работают без конфликтов.

                                                          Вывод опций для модификаций Вы можете реализовать самостоятельно, так как скрипт компонента работает с любыми полями ввода, имеющими определенный класс.
                                                          Svetlana S
                                                          05 июня 2019, 12:40
                                                          0
                                                          Здравствуйте. Подскажите, пожалуйста, есть ли сейчас у компонента возможность реализовать скидки на доп. товары? Если есть, как их можно прописать?
                                                            Воеводский Михаил
                                                            05 июня 2019, 12:56
                                                            0
                                                            Добрый день.
                                                            В параметре &fieldDiscount сниппета msAddLinked.input указывается название TV товаров-опций, в котором содержится величина скидки при добавлении данной опции.
                                                          Никита
                                                          02 декабря 2019, 16:23
                                                          0
                                                          Здравствуйте! А если кроме цены, на странице главного товара нужно менять другие характеристики, как их можно добавить?
                                                            Воеводский Михаил
                                                            02 декабря 2019, 16:27
                                                            +1
                                                            Добрый день.
                                                            Тогда Вам нужен компонент msOptionsPrice2.
                                                              Никита
                                                              02 декабря 2019, 16:30
                                                              0
                                                              То есть возможно использовать компоненты в связке, так?
                                                                Никита
                                                                02 декабря 2019, 17:34
                                                                0
                                                                Уже приобрели msAddLinked. Попробую поработать с тем что есть сначала. Как вывести в чанк значение опции товара или хотя бы его tv? {$input.heat} — такая запись ничего не выводит (где heat — опция либо tv)
                                                              Maxim
                                                              24 апреля 2020, 11:53
                                                              0
                                                              Как сделать что бы на карточке товара как на демо цена менялась?
                                                                Воеводский Михаил
                                                                24 апреля 2020, 15:28
                                                                0
                                                                Добавить вызов сниппета msAddLinked.input.
                                                                  Maxim
                                                                  24 апреля 2020, 23:49
                                                                  0
                                                                  Так добавил, в карточке товара цена не меняется. При добавлении в корзину идет с опцией уже.
                                                              Сергей
                                                              04 октября 2020, 12:11
                                                              0
                                                              Добрый день! Данный компонент будет корректно работать с msOptionsPrice2?
                                                                Игорь
                                                                23 октября 2020, 14:25
                                                                0
                                                                Здравствуйте.
                                                                Не могу понять, как сделать радиокнопки, т.е. что писать в параметр name: если я пишу name="{$input.input_name}" — то получается у всех радиокнопок разные имена и они не взаимоисключают другу-друга… если задаю им одинаковое имя, например name=«test» — то они работают как надо, но в корзину ничего не попадает…
                                                                Помогите пожалуйста.
                                                                  Виталик
                                                                  11 декабря 2020, 01:10
                                                                  0
                                                                  Добрый вечер. Умерли опции после обновления пакета. Журнал завален ошибкам. Например, добавил 4 опции, 4 ошибки в журнале появилось. Случилось это именно после обновления

                                                                  [2020-12-11 01:07:51] (ERROR @ public_html/core/cache/includes/elements/modplugin/21.include.cache.php : 59) DISCOUNT: 0, DISCOUNT PERCENT: 1
                                                                  [2020-12-11 01:07:52] (ERROR @ public_html/core/cache/includes/elements/modplugin/21.include.cache.php : 59) DISCOUNT: 0, DISCOUNT PERCENT: 1
                                                                  [2020-12-11 01:07:52] (ERROR @ public_html/core/cache/includes/elements/modplugin/21.include.cache.php : 59) DISCOUNT: 0, DISCOUNT PERCENT: 1
                                                                  [2020-12-11 01:07:52] (ERROR @ /public_html/core/cache/includes/elements/modplugin/21.include.cache.php : 59) DISCOUNT: 0, DISCOUNT PERCENT: 1
                                                                    pobnpolk
                                                                    30 января 2021, 19:36
                                                                    0
                                                                    Подскажите как через QuickView цены поменять, через шаблон «Товар» — отлично всё работает. Через QuickView, тот же код, не работает. Подключал скрипт внутри, без результата. Это минус.
                                                                    Evgeny
                                                                    22 июля 2022, 15:04
                                                                    0
                                                                    а демо не работает больше?
                                                                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                      136