[msOptionsPrice2] - разные цены для опций товара


Вторая версия msOptionsPrice.
Реализует свои цены для опций товара Minishop2.

Теперь можно задать свою цену к любой опции товара.
Пощупать тут — demo.vgrish.ru/


настройки — опции товара
Можно создать / отредактировать опцию для расчет доп. цен.

настройки — операции
Не удаляются, не добавляются. Можно отредактировать на свой вкус и цвет.
Доступно три операции:
  • установить (число — стоимость товара)
  • увеличить (число или процент от стоимости товара)
  • уменьшить (число или процент от стоимости товара)


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


для смены стоимости на фронте достаточно вызвать сниппет — msop2GetPrice и обернуть стоимость товара
<span class="msop2 product-[[*id]]">[[!+price]]</span> 
для смены веса на фронте достаточно вызвать сниппет — msop2GetPrice и обернуть вес товара
<span class="msop2 product_weight-[[*id]]">[[!+weight]]</span> 
ps. Пакет доступен в репозитории.
Предыдущий msOptionsPrice теперь бесплатный.
Спасибо за внимание.
22 февраля 2015, 14:58    Володя   G+  
2    3912 +3

Комментарии (136)

  1. Юрий Эффа 24 февраля 2015, 11:13 # 0
    Товар 1
    При смене размера меняется цена, но перечеркнутая цена «без скидки» остаётся неизменной
    1. Володя 24 февраля 2015, 11:16 # 0
      а как она должна меняться?
      1. Юрий Эффа 24 февраля 2015, 12:08 # 0
        Старая цена руб = Текущая цена руб + размер скидки в руб. от старой цены
        1. Володя 24 февраля 2015, 12:17 # 0
          эээ…
          1. Володя 24 февраля 2015, 12:29 # 0
            хотя возможно ты и прав… надо обдумать.
            1. Юрий Эффа 16 марта 2015, 23:47 # 0
              старая цена так и замерла) с т.з. клиента: при разной скидочной цене на опции и одинаковой старой цене, на опции товара действуют разные скидки)
              1. Володя 16 марта 2015, 23:51 # 0
                прив, напиши пож в скайп vgrish_vgrish уточню детали
                1. Klike 08 апреля 2016, 15:54 # 0
                  Юрий, так и не решили со старой ценой?
      2. Klike 05 марта 2015, 12:31 # 0
        Можно ли использовать для оптовых цен на сайте? К примеру посетитель закинул в корзину товар по розничной и с определенного количества цены становятся оптовыми? Или не с количества, а с общей стоимости товаров в корзине?
        1. Володя 05 марта 2015, 23:30 # 0
          нет
        2. Пашок 06 марта 2015, 10:00 # 0
          Добавляю товар — demo.vgrish.ru/category/tovar-1.html в корзину с одной опцией (цена 167), после чего в корзине меняю опцию на другую (цена 267). В корзине цена не обновляется ни аяксом, ни после обновления страницы корзины… Так задумано или баг?
          1. Володя 06 марта 2015, 10:03 # 0
            смена цены в корзине — это работа другого компонента modstore.pro/packages/ecommerce/msquickview, адаптацию под новый [msOptionsPrice2] я еще не писал — не было желающих. Так что это просто не работает.
            1. Пашок 06 марта 2015, 10:10 # 0
              То есть, чтобы компонент работал корректно, нужно покупать 2 компонента?)
              1. Володя 06 марта 2015, 10:11 # 0
                ты о чем?
                1. Пашок 06 марта 2015, 10:56 # 0
                  Хм… Чтобы компонент "msOptionsPrice2" менял цены в корзине при смене опций товаров, надо купить помимо него ещё и "msQuickView", я верно понял?
                  1. Володя 06 марта 2015, 10:59 # 0
                    компонет msOptionsPrice2 НЕ предназначен для смены цен в корзине.
                    1. Пашок 06 марта 2015, 11:03 # 0
                      А если пользователь нечаяно отметил не ту опцию, а потом решил зайти в корзину и сменить цвет товара? А другой цвет, который он выбрал будет стоить немного дороже. То есть в корзине будет отображена цена 4000р, а на самом деле цена будет 4500р. В какой момент он узнает о том, что оплатить ему на самом деле придётся на 500 рублей больше? :)
                      1. Володя 06 марта 2015, 11:04 # 0
                        а без msQuickView вы не смените параметр товара в корзине…
                        1. lexikon 06 сентября 2016, 12:18 # 0
                          это звучит как-то странно) вы же обновляете цены товаров аяксом на странице товара, в чем проблема обновлять и в корзине? получается я купил дополнение полу рабочее, так как основную функцию оно не выполняет полностью.
                          msQuickView для смены цен не нужен

                          Просто сами посудите, как писали выше. Зашел на страницу товара, сложил в корзину, перешел в корзину и решил сменить опцию( цена не изменяется… чушь же)
                          1. Павел Гвоздь 06 сентября 2016, 13:50 # 0
                            удалено
                            1. Павел Гвоздь 06 сентября 2016, 13:50 # 0
                              Да нет, основную функцию компонент msOptionsPrice2 выполняет. Вы, наверное, не правильно поняли, о чём здесь велось обсуждение. Володя мне всё объяснил, после чего вопросов у меня не возникало.

                              Просто сами посудите, как писали выше. Зашел на страницу товара, сложил в корзину, перешел в корзину и решил сменить опцию( цена не изменяется… чушь же)
                              Постараюсь объяснить. При установке одного лишь msOptionsPrice2 будет картина примерно такая: зашёл на страницу товара, сложил в корзину, перешёл в корзину и опцию, даже если и решил сменить, то не сможешь, т.к. компонент msOptionsPrice2 не поддерживает функционал смены опций в корзине.

                              Тут проблема в следующем: компонент msOptionsPrice2 не работает в паре с компонентом msQuickView, отсюда и при установке обоих появляется возможность сменить опцию в корзине за счёт функционала компонента msQuickView, а т.к. он не знает о компоненте msOptionsPrice2 (читай «не поддерживает»), то цена на опцию не поменяется, а опция сменится. Поэтому, вопрос стоит задавать Володе в другом ключе, а именно: не планирует ли он сделать поддержку компонента msOptionsPrice2 в компоненте msQuickView.
                              1. Володя 06 сентября 2016, 14:17 # 0
                                спасибо, примерно так)
                                дело в том что этот функционал был в ранней версии msQuickView, пилил для какого то магазина, в дальнейшем никто про это вообще не спрашивал, за исключением этого вопроса тут. Смысл поддерживать функционал который не нужен? В QuickView его нет.
                                1. Павел Гвоздь 06 сентября 2016, 14:20 # 0
                                  А мне, почему то, сразу приглянулся этот функционал, когда увидел его на демо сайте у тебя.
                              2. lexikon 06 сентября 2016, 12:18 # 0
                                вы решили данную проблему?
                                1. Володя 06 сентября 2016, 13:33 # +1
                                  я не вижу тут проблемы.
                                  Если бы изначально функционал смены опций в корзине существовал и данный компонент его не поддерживал — вот это бы была проблема. А так это только ваша хотелка…
                  2. Андрей 11 марта 2015, 00:23 # 0
                    Только месяца два назад купил msOptionsPrice. А теперь он оказывается стал бесплатным, а вместо этого появился msOptionsPrice2. Как-то так вот
                    1. Алексей 11 марта 2015, 17:33 # 0
                      Когда поступит модуль QuickCart в продажу?
                      1. Viacheslav 13 марта 2015, 18:17 # 0
                        Подскажите, пожалуйста, данный модуль может работать в списке товаров? Первая версия работала только в карточке товара или требовала значительной доработки.
                        1. Володя 13 марта 2015, 22:16 # 0
                          Все работает из коробки. Поставил на демо сайте demo.vgrish.ru/
                        2. Николай Ермошин 21 апреля 2015, 08:54 # +1
                          Всем привет. Было бы неплохо учитывать такой параметр, как вес. Бывает, что у доп параметров не только разная цена, но и разный вес. Соответственно получается, что при добавлении в корзину вес берется товара и далее при расчете стоимости доставки тоже учитывается общий вес товара.
                          1. Володя 21 апреля 2015, 09:13 # 0
                            Пока что такое пожелание озвучил ты один. Если действительно актуально — то сделаю когда будет время.
                            Если это уже нужно прям сейчас, могу сделать сейчас — стоимость работы 1500 руб.
                            1. Николай Ермошин 21 апреля 2015, 09:16 # 0
                              давай реализуем, как связь с Вами держать?
                              1. Володя 21 апреля 2015, 09:17 # 0
                                скайп — vgrish_vgrish
                                1. Павел Гвоздь 05 июня 2015, 13:05 # 0
                                  Друзья, вы реализовали смену веса при выборе опции? Она нужна многим, такое будет в продаже?
                                  1. Володя 05 июня 2015, 13:21 # +1
                                    да, реализовали.
                                    Можно посмотреть в истории изменений
                                    modstore.pro/packages/ecommerce/msoptionsprice2#tab=changelog
                                    1.0.5-beta (21.04.2015)
                                    ==============
                                    - add weight of the goods.
                                    1. Павел Гвоздь 05 июня 2015, 13:27 # 0
                                      Хорошо. Тогда ещё несколько вопросов:

                                      1. Ниже у человека возникал вопрос о «быстрой» смене веса на странице товара при выборе нужной опции, такое из коробки уже доступно или нужно допиливать?

                                      2. Есть ли возможность быстро внедрить в компонент смену артикла при смене опции?

                                      3. Есть ли возможность добавить в базу (в таблицу msop2 с данными характеристик) параметр properties (как у ресурсов modx), в который можно было бы записать какие-нибудь характеристики для хранения каких-либо данных?
                                      1. Володя 05 июня 2015, 13:41 # 0
                                        1. из коробки
                                        2. 3 можно примерно как тут modx.pro/components/4880-msoptionsprice2-different-prices-for-the-options-of-the-goods/#comment-38622
                                        1. Павел Гвоздь 05 июня 2015, 21:17 # 0
                                          Я дописал, Володя, надеюсь ты не против. Если интересно обновить на модсторе — сообщи, я скину тебе.
                                          1. Володя 05 июня 2015, 21:39 # 0
                                            нет, спасибо.
                          2. Михаил 04 мая 2015, 15:50 # 0
                            С помощью этого компонента можно создавать свои опции товара? Например: диаметр линз --> 20, 30, 40, 50 итд. Чтобы в карточке товара при заказе можно было выбрать пользователю этот параметр
                            1. Володя 04 мая 2015, 16:27 # 0
                              опции к товару можно создать по этому мануалу bezumkin.ru/modx/minishop2/classes/910/
                              компонент для этого не нужен.
                            2. Михаил 04 мая 2015, 18:19 # 0
                              Кто нибудь знает что это за ошибка ???
                              msProduct_err_ns
                              вообще ни чего по этому поводу не нашёл… Не сохраняется почему то опция при сохранении товара
                              1. Василий Наумкин 04 мая 2015, 19:34 # 0
                                При вызове процессора не указан id товара, или такой товар не существует.
                              2. Иван Иванов 06 мая 2015, 15:21 # 0
                                del
                                1. Володя 06 мая 2015, 15:26 # 0
                                  Скорее всего вы не включили в настройках…

                                  задать поле для остатка, веса

                                  для отслеживания остатков еще нужно активировать плагин.
                                  1. Иван Иванов 06 мая 2015, 15:51 # 0
                                    Выставил, не вижу изменений… Каким образом остаток выводится на фронтенде? Значения попадают в [[%ms2_frontend_count_unit]]? т.е чтоб нельзя было бы выбрать большее кол-во нежели выставлено для определенного размера
                                    1. Иван Иванов 06 мая 2015, 16:19 # 0
                                      Заработало :). Еще вопросик. Можно ли каким-то образом выставлять значения, плагин насколько я понял обрабатывает события при добавлении, изменение товара в корзину… можно ли сделать так чтоб при изменении «Размера» можно было сразу отобразить кол-во оставшегося товара т.е выбираем размер XXL получаем «Остался: 1 товар», выбрали размер S… видим «Осталось 3 товара»
                                      1. Володя 06 мая 2015, 17:26 # 0
                                        Можно, с такими вопросами вэлкам modstore.pro/cabinet/tickets/
                                  2. Николай Загумённов 28 мая 2015, 10:26 # +1
                                    При открытии страницы категории товаров JS не проставлял цены автоматом, ставил только для последнего товара. Пришлось добавить строчку в JS файл:

                                    ,initialize: function() {
                                            msop2.setup();
                                            // jQuery
                                            if (typeof jQuery === 'undefined') {
                                                document.write('<script src="'+msop2Config.jsUrl+'web/lib/jquery.min.js"><\/script>');
                                            }
                                            // listeners
                                            $(document).on('change', msop2.par.msform, function() {
                                                msop2.price.get(this);
                                            });
                                            // ready
                                            $(document).ready(function() {
                                                var $this = $(msop2.par.msform);
                                                		
                                    			/* >> вот тут дописал */
                                    			$.each( $this , function( index, value ) {
                                    				msop2.price.get( value );
                                    			});
                                    			/* << вот тут дописал */
                                            });
                                        }
                                    
                                    1. Володя 28 мая 2015, 12:16 # 0
                                      да все так, просто не всем данный функционал нужен, а излишне нагружать запросами при выводе каталога думаю нет нужды. Для подобных вопросов и их решений и существует ТП.
                                      PS. Вам спасибо что сами разобрались!
                                      1. Дмитрий Аюпов 28 мая 2015, 14:52 # 0
                                        Перед тем как купить хочу уточнить, есть ли возможность менять цену товара в зависимости от количества в дополнительном поле, которое невозможно конкретно указать.
                                        Например белое платье стоит 100 руб, синее +20 руб, а пуговица +5 руб, при этом количество пуговиц может быть 500-1000 шт. Это зависит от размера и рассчитывается по площади платья динамически при указании ширины и высоты платья. Таких полей должно быть несколько.
                                        Платье — только для примера.

                                        Понимаю, что в качестве костыля можно указать в поле «Опции-цены» дополнительно 1000 полей на каждую пуговицу:
                                        пуговица 1 5 установить
                                        пуговица 2 10 установить

                                        пуговица 1000 5000 установить

                                        А хотелось бы:
                                        пуговица количество 5 умножить

                                        1. Володя 28 мая 2015, 14:55 # 0
                                          нет, такой возможности нет. Если только дорабатывать пакет под себя.
                                          1. Дмитрий Аюпов 28 мая 2015, 14:57 # 0
                                            Заодно наверно и «поделить» можно добавить, пока не могу придумать пример, но необходимость у народа, думаю, может возникнуть.

                                            Может сделаете?
                                    2. Артем 15 июня 2015, 03:17 # 0
                                      Эти параметры можно импортировать из csv?
                                      1. Володя 15 июня 2015, 07:25 # 0
                                        Дописав соответствующий код в импортер — конечно можно.
                                        1. Артем 15 июня 2015, 19:19 # 0
                                          Т.е если у меня 1200 товаров в пяти размерах каждый, все это придется забивать руками?
                                          1. Володя 15 июня 2015, 20:50 # 0
                                            где логика? Говорю можно, а вы про забивать руками…
                                            Если есть желание то можно и руками.
                                            1. Артем 16 июня 2015, 03:31 # -1
                                              где логика? Я вообще не понимаю как это может не работать из коробки
                                      2. Алексей 09 июля 2015, 14:01 # 0
                                        совместимы ли «остатки» модуля «msOptionsPrice2» с модулем «mSklad»?
                                        1. Володя 09 июля 2015, 14:02 # 0
                                          Официально нет, дописать недолго. Если пакет у вас куплен и нужна такая возможность, пишите в ТП сделаю.
                                        2. Роман Садоян 17 июля 2015, 15:05 # 0
                                          Нужно ли расширять таблицы в БД для вывода доп. опций в карточке товара?
                                          1. Володя 17 июля 2015, 17:10 # 0
                                            Новые опции товару добавляются по вот этому мануалу bezumkin.ru/modx/minishop2/classes/910/
                                            Для работы пакет с уже существующими опциями ничего расширять не нужно.
                                          2. Сергей С 27 июля 2015, 11:00 # 0
                                            есть ли возможность обновить msOptionsPrice до msOptionsPrice2? и как?
                                            1. Володя 27 июля 2015, 11:56 # 0
                                              Обращайтесь в ТП. Сделаем.
                                              1. Сергей С 27 июля 2015, 13:15 # 0
                                                все данные на сайте не придется заново заносить?

                                                и еще вопрос:
                                                — если я куплю дополнение я смогу его использовать в других проектах?
                                                1. Володя 27 июля 2015, 13:37 # 0
                                                  надо будет написать скрипт переноса с первой версии на вторую. Это все в рамках ТП.
                                                  по поводу пользования дополнения читать тут — modstore.pro/info/connection
                                            2. shiyankin 28 июля 2015, 18:07 # 0
                                              Здравствуйте!
                                              А при покупке количество товара уменьшается? И можно как-нибудь не давать возможности покупать товар с нулевым остатком?
                                              1. Володя 28 июля 2015, 19:18 # 0
                                                да, в комплекте идет плагин, отслеживает кол-во купленного товара.
                                                Его нужно просто активировать.
                                              2. леонид 30 июля 2015, 01:08 # 0
                                                как доп параметры перенести из стандартного файла импорта цсв? что-то никак не пойму
                                                1. Володя 30 июля 2015, 08:19 # +1
                                                  1. леонид 31 июля 2015, 06:27 # -1
                                                    мне поддержка не нужна мне нужна инструкция: я полез в тестовый аккаунт пытаюсь понять как загнать цсв для импорта с параметрами, облазил все инструкции не нашел
                                                    1. Комментарий был удален.
                                                2. Валерий Савинов 10 августа 2015, 14:16 # 0
                                                  Присоединяюсь к вопросу про загрузку цен для опций товара из csv через стандартный скрипт импорта ms2?
                                                  1. Марк Валерич 07 октября 2015, 13:35 # 0
                                                    Володя, добрый день.
                                                    Встал вопрос в переделке каталога на сайте.

                                                    Нужна возможность обработать .csv, так чтобы фасовки зашли в твой чудесный компонент.
                                                    Товар — загружен
                                                    -------Размерность — загружена
                                                    ---------------Фасовка/цена — необходимо
                                                    Есть ли такая возможность из коробки? из данных обсуждений не ясно.
                                                    Если нет, то сколько будет стоить?
                                                    1. Володя 07 октября 2015, 13:37 # 0
                                                      Добрый день.
                                                      Пишите в поддержку, там решим.
                                                      Спасибо!
                                                  2. mon 28 августа 2015, 16:42 # 0
                                                    для смены веса на фронте достаточно вызвать сниппет — msop2GetPrice и обернуть вес товара
                                                    <span class="msop2 product_weight-[[*id]]">[[!+weight]]</span>
                                                    Для смены артикула товара на фронте такого не сделано?
                                                    В /assets/components/msop2/js/web/default.js увидел только:
                                                    setup: function() {
                                                            msop2.par.msform = '.ms2_form';
                                                            msop2.par.product = '.msop2.product-';
                                                            msop2.par.product_weight = '.msop2.product_weight-';
                                                            msop2.par.product_old_price = '.msop2.product_old_price-';
                                                            msop2.par.exclude = ['count'];
                                                        },
                                                    Можно ли доделать артикул? Компонент куплен.
                                                    1. Володя 29 августа 2015, 07:22 # 0
                                                      Извиняюсь, видно в спешке забыл про него. Дописал, отправил в магазин.
                                                      Спасибо!
                                                      1. mon 01 сентября 2015, 09:22 # 0
                                                        Спасибо, заработало.
                                                    2. миха86 16 сентября 2015, 13:36 # 0
                                                      а у этого скрипта есть возможность выгрузить стандартно цены с csv?
                                                      1. Володя 16 сентября 2015, 14:02 # 0
                                                        нет, у это скрипта нет возможности выгрузить стандартно с csv.
                                                        1. Валерий Савинов 16 сентября 2015, 14:19 # +1
                                                          есть вот такой костыль импорт дополнительных цен для импорта из csv
                                                          но все зависит от того, как подготовлен сам csv.
                                                          Решение не претендует на эталонное — но работает.
                                                          1. миха86 16 сентября 2015, 14:38 # +1
                                                            спасибо буду изучать!
                                                            не совсем понятно почему разработчики проигнорировали основной способ наполнения минишопа и приходится изощряться
                                                        2. Денис 02 октября 2015, 12:55 # 0
                                                          Доброго времени.
                                                          А можно с помощью этого плагина реализовать привязку размеров товара в зависимости от цвета?
                                                          Т.е. для каждого цветового решения — свой набор размеров (и их количество)
                                                          1. Володя 02 октября 2015, 13:33 # 0
                                                            нет, к сожалению так не получится.
                                                            1. Constantine 02 октября 2015, 17:16 # 0
                                                              можно сделать через связи товаров, но на 3тыс товаре я плюнул и расчет цены в сделал скриптом на странице, в зависимости от того, что выбирает юзер, а параметры уже передавал в корзину, так намного проще ) может поможет
                                                              1. Денис 06 октября 2015, 13:04 # 0
                                                                А можно подробнее?
                                                                Что-то я не улавливаю, как на js сделать зависимости.

                                                                Допустим у меня есть Товар А, который представлен в двух цветах — Красный и Черный.
                                                                У Черного доступны размеры — XS, M, XL.
                                                                У Красного — XS, M, L, XXL.
                                                                Соответственно если выбран Красный — доступны только размеры XS, M, L, XXL., если Черный — XS, M, XL.
                                                                Товаров много, размеры и цвета разные.
                                                                1. Constantine 06 октября 2015, 15:28 # 0
                                                                  я делал под свои нужды, и они отличаются от тех, что ты описал выше.
                                                                  но логика работы такая же. например одна вкладка, на один цвет, допустим цветов 3
                                                                  через простые табы, например jqueryui.com/tabs/
                                                                  в содержимом уже прописаны нужные тебе параметры, заранее заданные в админке и вписанные в value у input'a
                                                                  в админке можно просто создать все возможные варианты (допустим может быть максимум 3 цвета и 5 размеров), оставить по дефолту их незаполненными и необязательными,
                                                                  а при вызове табов на странице уже проверять, если поле с цветом 1 не пустое — тогда выводим таб 1, и так на каждый цвет :)
                                                                  с размерами можно через чекбоксы делать например.
                                                                  если цвета не фиксированные у всех товаров — то пускай в админке они вбиваются в hex формате))
                                                                  не знаю как еще можно объяснить это

                                                                  по простому говоря:
                                                                  выбираешь пункт 1 (размер XS) — в значение цены вписывается сумма одна
                                                                  выбираешь пункт 2 (размер X) — в значение цены вписывается сумма другая
                                                                  через простой яваскрипт меняешь содержимое нужного ид

                                                                  про цену пригодится статья
                                                                  www.tale.by/blog/izmenenie-czenyi-ms2.html
                                                                  убился ее искать)
                                                                  1. Constantine 06 октября 2015, 15:40 # 0
                                                                    про стоимость не скажу ничего, т.к. фиг знает как вы там её высчитываете)
                                                            2. Алексей 17 октября 2015, 16:47 # 0
                                                              добрый вечер. Заложена ли в этот компонент возможность расширения функционала?
                                                              мне нужно брать системную настройку из ClientConfig с ценой (дополнительная цена за подробную консультацию мэнэджера при доставке товара) и выводить на страничке продукта как опцию. Эта опция для всех продуктов одна, (цена на которую увеличивается сумма товара). Для каждого отдельного продукта её забивать не хотелось бы.
                                                              1. Воеводский Михаил 17 октября 2015, 20:40 # 0
                                                                Добавляйте это как отдельный товар в корзине.
                                                                1. Алексей 17 октября 2015, 20:56 # 0
                                                                  вариант. но мне кажется клиент сойдет с ума, увидев такую корзину:
                                                                  товар 1					1шт. 	 	100руб.
                                                                  товар 2					1шт.		200руб.
                                                                  товар 3					1шт.		300руб.
                                                                  консультация				2шт.		25руб.
                                                                  итого					5шт.		650руб.
                                                                  
                                                                  гораздо лучше будет:
                                                                  товар 1, +консультация  		1шт.   		125руб.
                                                                  товар 2, +консультация  		1шт.		225руб.
                                                                  товар 3					1шт.		300руб.
                                                                  итого					3шт.		650руб.
                                                                  
                                                                  1. Воеводский Михаил 17 октября 2015, 22:38 # 0
                                                                    Соглашусь. В данном случае я бы слегка изменил сниппет msCart для чуть иного добавления в корзину и иного вывода. Проще говоря, добавил бы виртуальную связь между 2-мя товарами в корзине.
                                                                    1. Алексей 17 октября 2015, 22:58 # 0
                                                                      да, это касаемо корзины. в принципе рабочий вариант. Но вот на страничке товара — клиент ставит галочку «нужна консультация» — и цена товара должна измениться. Мне нравится как на лету меняется цена у msOptionsPrice2 через процессоры — все по феншую.
                                                                      1. Володя 18 октября 2015, 11:28 # 0
                                                                        Добавил события в 1.1.0-beta
                                                                        ==============
                                                                        — Added new events:
                                                                        «msop2OnBeforeProductGetPrice»
                                                                        «msop2OnProductGetPrice»
                                                                        «msop2OnBeforeProductGetWeight»
                                                                        «msop2OnProductGetWeight»
                                                                        «msop2OnBeforeProductGetArticle»
                                                                        «msop2OnProductGetArticle»

                                                                        теперь можно создать плагин в нем получить опции и модифицировать цену…
                                                                        например
                                                                        switch ($modx->event->name) {
                                                                        	case 'msop2OnProductGetPrice':
                                                                                	$values = & $modx->event->returnedValues;
                                                                                	if ($options['size'] == '100') {
                                                                                    		$values['price'] = 55; 
                                                                                	}
                                                                        		break;
                                                                        }
                                                                        
                                                                        1. Алексей 24 октября 2015, 20:07 # 0
                                                                          было бы замечательно иметь возможность давать клиенту ссылку вида:
                                                                          domain.com/good.html?color=green&consultation=1
                                                                          В результате, товар бы отображался сразу с ценой, посчитанной через модуль msOptionsPrice2, с параметрами:
                                                                          color: green
                                                                          consultation: 1
                                                                          
                                                                          и клиенту оставалось бы только нажать «в корзину» и заняться оформлением заказа.
                                                                          1. Антон 10 марта 2017, 14:21 # 0
                                                                            Давно не заглядывал в msop, сейчас понадобилось снова повторить этот алгоритм, но не могу найти событие msop2OnProductGetPrice, ближайшее похожее событие — msopOnGetFullCost, но вот такой плагин не работает

                                                                            <?php
                                                                            switch ($modx->event->name) {
                                                                            	case 'msopOnGetFullCost':
                                                                                    	$values = & $modx->event->returnedValues;
                                                                                    	if ($options['size'] == '100') {
                                                                                        		$values['price'] = 55; 
                                                                                    	}
                                                                            		break;
                                                                            }
                                                                            Какое событие использовать чтобы модифицировать цену?
                                                                            Может есть где нибудь документация по новым событиям?
                                                                            Что означает cost? Как его отлавливать на фронте?
                                                                            1. Володя 10 марта 2017, 14:36 # 0
                                                                              Какое событие использовать чтобы модифицировать цену?
                                                                              событий несколько, смотря что вам нужно и для какой цели.
                                                                              if ($modx->event->name = 'msopOnGetFullCost') {
                                                                              
                                                                                  $rid = $modx->getOption('rid', $scriptProperties);
                                                                                  $cost = $modx->getOption('cost', $scriptProperties);
                                                                                  $options = $modx->getOption('options', $scriptProperties);
                                                                                
                                                                                  
                                                                                  $values = $modx->Event->returnedValues;
                                                                              
                                                                                  if (true) {
                                                                                      $values['cost'] = $cost /2;
                                                                                  }
                                                                              
                                                                                  $modx->event->returnedValues = $values;
                                                                                  
                                                                                  return;
                                                                              }
                                                                              Что означает cost? Как его отлавливать на фронте?
                                                                              это и есть стоимость продукта, дефолтный скрипт его обрабатывает.
                                                                              1. Антон 11 марта 2017, 00:13 # 0
                                                                                Спасибо, работает.
                                                                                Какой самый лучший способ просматривать переменные и их значения при работе на хостинге?
                                                                                Сейчас только [[+price]] видно.
                                                                2. Volk 03 декабря 2015, 11:10 # 0
                                                                  Здравствуйте, нашел такой баг: Если создать пользователя, даже со всеми правами администратора, перебрать все права доступа с любыми шаблонами, но не выставить в редактировании самого пользователя галочку «Неограниченные права», то в редактировании товара на вкладке «опции-цены» пишет доступ запрещен, а если нажать создать, то вылазит ошибка
                                                                  Код: 200 OK
                                                                  {"success":false,"message":"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d!","total":0,"data":[],"object":[]}
                                                                  На демо сайте demo.vgrish.ru тоже такая же ошибка вылазит при нажатии «создать» но добавленные опции почему-то отображает, но редактировать их так же не дает.
                                                                  В итоге получается, что никак не создать менеджера интернет магазина с ограниченными правами, который мог бы редактировать опции цены.
                                                                  Какое есть решение проблемы?
                                                                  1. Володя 03 декабря 2015, 12:04 # +1
                                                                    Добрый день.
                                                                    Добавил политику доступа msOptionsPrice2ManagerPolicy. Обновите компонент и добавьте ее нужной группе пользователей.
                                                                    1. Volk 03 декабря 2015, 14:50 # 0
                                                                      Спасибо за такое быстрое решение проблемы. Теперь всё работает отлично.
                                                                      1. Володя 03 декабря 2015, 14:51 # 0
                                                                        пожалуйста
                                                                  2. Константин Венцлавович 31 марта 2016, 01:28 # 0
                                                                    Здравствуйте!

                                                                    А будет ли msOptionsPrice2 работать, если опции будут не в виде select, а в виде input radio? msOptionsPrice не работает, насколько я понял…
                                                                    1. Володя 31 марта 2016, 09:34 # 0
                                                                      Добрый день.
                                                                      А будет ли msOptionsPrice2 работать, если опции будут не в виде select, а в виде input radio?
                                                                      Да, будет.
                                                                    2. mon 30 мая 2016, 10:23 # 0
                                                                      Здравствуйте.
                                                                      Обновил miniShop 2.2 -> 2.4 и пропала закладка «Опции-Цены» (https://yadi.sk/i/mjeoVlSWs78Yu)
                                                                      Попробовал переустановить msOptionsPrice2 — не помогло. Пока откатился обратно на 2.2, но как сделать так, чтобы в 2.4. закладка отображалась?
                                                                      1. Володя 30 мая 2016, 11:30 # 0
                                                                        добрый день.
                                                                        Версия 2.4.0 beta2 — это пока лишь бета версия, будет стабильная — будет и совместимость.
                                                                        т.е. пока никак.
                                                                        1. mon 30 мая 2016, 11:43 # 0
                                                                          Ok, спасибо.
                                                                          Будем подождать.
                                                                          1. Евгений 20 июня 2016, 19:26 # 0
                                                                            msop2 1.1.4-beta работает c minishop2 2.2.0-pl2?
                                                                            1. Володя 20 июня 2016, 20:09 # 0
                                                                              да, работает.
                                                                        2. Петр 22 июля 2016, 15:07 # 0
                                                                          Подскажи, как отключить блокировку покупки товара если его количество 0?

                                                                          Мне нужно учитывать количество (чтобы при покупке уменьшалось), но если количество дойдет до 0 то все ровно можно было добавить товар в корзину.
                                                                          Я так понимаю нужно подредактировать плагин msOptionsPrice2Remains?
                                                                          1. Володя 22 июля 2016, 15:11 # 0
                                                                            Приветствую.
                                                                            убери строчки
                                                                            if(($count - $cart_items[$key]['count']) > ($_count)) {
                                                                            	$modx->event->output($modx->lexicon('msop2_available_count_no'));
                                                                            }
                                                                            
                                                                          2. Михаил 12 августа 2016, 10:50 # +1
                                                                            Володя, подскажи, где в админке demo.vgrish.ru/ посмотреть работу msOptionsPrice2, а именно то, как добавляются опции и назначаются к ним цены?
                                                                            1. adminixi 14 августа 2016, 11:19 # 0
                                                                              Да, скажите, а где все-таки посмотреть пример работы данного дополнения?
                                                                              На demo.vgrish.ru сейчас нет примеров…
                                                                              1. Володя 14 августа 2016, 11:35 # 0
                                                                                все там же, просто старая версия пакета была, поправил…
                                                                              2. Слава 20 августа 2016, 16:08 # 0
                                                                                Хорошо бы добавить связанные опции. Т.е. 2 или более опций, выбрав одну — становится доступна другая которая ей принадлежит и соответственно привязать к ним цену.
                                                                                1. Михаил 31 августа 2016, 09:21 # 0
                                                                                  Вопрос такой. Добавил новую опцию в настройках MS2. Я правильно понимаю что для того чтобы использовать эту опцию в расчете цены мне нужно добавить е в настройках msOptionsPrice2?
                                                                                  1. Володя 31 августа 2016, 09:56 # 0
                                                                                    msOptionsPrice2 работает со свойствами таблицы msProductData, то что вы добавили в настройках MS2 он не увидит.
                                                                                    Вы не первый кто про это спрашивает, постараюсь в течении недели решить этот вопрос.
                                                                                    1. Михаил 31 августа 2016, 09:57 # 0
                                                                                      спасибо
                                                                                      1. babrina 30 сентября 2016, 08:51 # 0
                                                                                        Добрый день. Вы решили этот вопрос? Планируем купить плагин, но очень нужны не стандартные поля.
                                                                                        1. Володя 30 сентября 2016, 10:41 # 0
                                                                                          Добрый, да, в новой версии все работает.
                                                                                    2. Дмитрий 17 января 2017, 10:12 # 0
                                                                                      Добрый день. Возникла необходимость указывать для отдельной модификации значение «нет в наличии». На странице товара при выборе модификации должно отображаться текстовое сообщение «нет в наличии». Подскажите в какую сторону копать, спасибо.
                                                                                      1. Володя 17 января 2017, 10:45 # 0
                                                                                        Добрый день.
                                                                                        какая версия дополнения?
                                                                                        Напишите в ТП с указанием доступов к админке, спасибо!
                                                                                        1. Дмитрий 18 января 2017, 09:25 # 0
                                                                                          Версия 2.1.24-beta, написал в ТП.
                                                                                          1. Дмитрий 20 января 2017, 11:47 # 0
                                                                                            Спасибо, все отлично работает.
                                                                                        2. Алексей П 23 января 2017, 13:29 # 0
                                                                                          Вчера купил компонент. Появилась вкладка модификации. Сегодня зашел в админку, вкладки нет. Переустановил пакет, все равно вкладки нет.
                                                                                          1. Leonid Krylov 23 января 2017, 14:38 # +1
                                                                                            Пожалуйста, пишите в техподдержку дополнения.
                                                                                          2. Надежда 02 февраля 2017, 21:43 # 0
                                                                                            Скажите, а как можно сделать, чтобы в каталоге товаров те товары, которые имеют разную весовую категорию и соответственно разную цену отражались с ценой минимальной — типа «от 100 рублей».
                                                                                            Просто покупатель только когда в саму карточку товара проваливается понимает, что там разный вес или размер…
                                                                                            1. Володя 02 февраля 2017, 21:48 # 0
                                                                                              можно вызвать сниппет msOptionsPrice.modification и показать минимальную цену
                                                                                              [[msOptionsPrice.modification?
                                                                                              &product=`[[+id]]`
                                                                                              &includeThumbs=`120x90`
                                                                                              &limit=`1`
                                                                                              &sortby=`{ "CAST(`msopModification`.`price` AS DECIMAL(10,2))": "ASC" }`
                                                                                              ]]
                                                                                              
                                                                                              1. Надежда 02 февраля 2017, 22:09 # 0
                                                                                                а вот через вот такую штуку можно как-то настроить

                                                                                                [[+longtitle:is=`one`:then=``:else=`от`]]

                                                                                                Просто нужно, чтобы «цена от» показывала только у тех товаров, у которых в поле [[+quantity]] минимум 2 значения веса, объема или размера и соответственно цены разные, а там где в этом поле 1 значение веса, то никакого «от» не должно быть.
                                                                                                1. Володя 03 февраля 2017, 07:48 # 0
                                                                                                  напишите в ТП с указанием доступов к админке сайта.
                                                                                                  Спасибо!
                                                                                            2. Олег 20 мая 2017, 14:44 # 0
                                                                                              Добрый день!
                                                                                              Подойдет ли этот компонент для такой задачи:

                                                                                              В карточке товара выпадающий список с названиями магазинов. При выборе магазина меняется цена и доступное количество товара.
                                                                                              1. Володя 20 мая 2017, 14:59 # 0
                                                                                                Добрый день.
                                                                                                В карточке товара выпадающий список с названиями магазинов.

                                                                                                Можно создать опцию город и создать модификации товара на основе этой опции.
                                                                                                При выборе магазина меняется цена и доступное количество товара.
                                                                                                Задать стоимость товара и доступное кол-во.
                                                                                                1. Олег 20 мая 2017, 15:00 # 0
                                                                                                  Спасибо!
                                                                                                  1. Олег 20 мая 2017, 15:43 # 0
                                                                                                    запутался.
                                                                                                    Скажем у меня 10 магазинов в 4х городах, которые должны быть в одном общем выпадающем списке на сайте).

                                                                                                    Добавляю модификацию к товару и называю ее например «ТЦ Галерея» (по названию одного из магазинов).
                                                                                                    Пытаюсь прописать в поле «цена» любое значение и получаю сообщение о том, что это поле должно быть уникальным.

                                                                                                    Жму на кнопку "+", чтобы через нее добавить цену и количество. Добавляю количество, но цену тут тоже не добавить т.к. в выпадающем списке только мои добавленные опции.

                                                                                                    Расскажите пожалуйста как правильно реализовать задачу и зачем вы советовали создать опцию «город»?
                                                                                                    1. Володя 20 мая 2017, 19:58 # 0
                                                                                                      Расскажите пожалуйста как правильно реализовать задачу и зачем вы советовали создать опцию «город»?
                                                                                                      да прочитал по диагонали и торопился, написал город. Город ни к чему тогда, создавайте опцию название магазина.

                                                                                                      Добавляю модификацию к товару и называю ее например «ТЦ Галерея» (по названию одного из магазинов).
                                                                                                      Пытаюсь прописать в поле «цена» любое значение и получаю сообщение о том, что это поле должно быть уникальным.
                                                                                                      создаете модификацию, в каждой модификации добавляете опцию со своим магазином. На фронте выводится список магазинов и подгружается нужная цена.
                                                                                                      Если непонятно напишите в ТП с указанием доступов к админке и ссылкой на тестируемый товар. Подскажу как и что сделать.
                                                                                                      Спасибо!
                                                                                                      1. Олег 20 мая 2017, 20:35 # 0
                                                                                                        Написал.
                                                                                                        Спасибо огромное за помощь!!!
                                                                                              Вы должны авторизоваться, чтобы оставлять комментарии.