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

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

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

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

для смены стоимости на фронте достаточно вызвать сниппет — msop2GetPrice и обернуть стоимость товара
Предыдущий msOptionsPrice теперь бесплатный.
Спасибо за внимание.
Реализует свои цены для опций товара Minishop2.

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

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

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

для смены стоимости на фронте достаточно вызвать сниппет — msop2GetPrice и обернуть стоимость товара
<span class="msop2 product-[[*id]]">[[!+price]]</span>для смены веса на фронте достаточно вызвать сниппет — msop2GetPrice и обернуть вес товара <span class="msop2 product_weight-[[*id]]">[[!+weight]]</span>ps. Пакет доступен в репозитории. Предыдущий msOptionsPrice теперь бесплатный.
Спасибо за внимание.
Комментарии: 142
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
При смене размера меняется цена, но перечеркнутая цена «без скидки» остаётся неизменной
ПашокПашокПашокПашокmsQuickView для смены цен не нужен
Просто сами посудите, как писали выше. Зашел на страницу товара, сложил в корзину, перешел в корзину и решил сменить опцию( цена не изменяется… чушь же)
удаленоПостараюсь объяснить. При установке одного лишь msOptionsPrice2 будет картина примерно такая: зашёл на страницу товара, сложил в корзину, перешёл в корзину и опцию, даже если и решил сменить, то не сможешь, т.к. компонент msOptionsPrice2 не поддерживает функционал смены опций в корзине.
Тут проблема в следующем: компонент msOptionsPrice2 не работает в паре с компонентом msQuickView, отсюда и при установке обоих появляется возможность сменить опцию в корзине за счёт функционала компонента msQuickView, а т.к. он не знает о компоненте msOptionsPrice2 (читай «не поддерживает»), то цена на опцию не поменяется, а опция сменится. Поэтому, вопрос стоит задавать Володе в другом ключе, а именно: не планирует ли он сделать поддержку компонента msOptionsPrice2 в компоненте msQuickView.
дело в том что этот функционал был в ранней версии msQuickView, пилил для какого то магазина, в дальнейшем никто про это вообще не спрашивал, за исключением этого вопроса тут. Смысл поддерживать функционал который не нужен? В QuickView его нет.
Если бы изначально функционал смены опций в корзине существовал и данный компонент его не поддерживал — вот это бы была проблема. А так это только ваша хотелка…
Если это уже нужно прям сейчас, могу сделать сейчас — стоимость работы 1500 руб.
Можно посмотреть в истории изменений
modstore.pro/packages/ecommerce/msoptionsprice2#tab=changelog
1. Ниже у человека возникал вопрос о «быстрой» смене веса на странице товара при выборе нужной опции, такое из коробки уже доступно или нужно допиливать?
2. Есть ли возможность быстро внедрить в компонент смену артикла при смене опции?
3. Есть ли возможность добавить в базу (в таблицу msop2 с данными характеристик) параметр properties (как у ресурсов modx), в который можно было бы записать какие-нибудь характеристики для хранения каких-либо данных?
2. 3 можно примерно как тут modx.pro/components/4880-msoptionsprice2-different-prices-for-the-options-of-the-goods/#comment-38622
компонент для этого не нужен.
msProduct_err_ns
вообще ни чего по этому поводу не нашёл… Не сохраняется почему то опция при сохранении товара
delзадать поле для остатка, веса
для отслеживания остатков еще нужно активировать плагин.
PS. Вам спасибо что сами разобрались!
Дмитрий АюповНапример белое платье стоит 100 руб, синее +20 руб, а пуговица +5 руб, при этом количество пуговиц может быть 500-1000 шт. Это зависит от размера и рассчитывается по площади платья динамически при указании ширины и высоты платья. Таких полей должно быть несколько.
Платье — только для примера.
Понимаю, что в качестве костыля можно указать в поле «Опции-цены» дополнительно 1000 полей на каждую пуговицу:
пуговица 1 5 установить
пуговица 2 10 установить
…
пуговица 1000 5000 установить
А хотелось бы:
пуговица количество 5 умножить
Дмитрий АюповМожет сделаете?
Если есть желание то можно и руками.
Для работы пакет с уже существующими опциями ничего расширять не нужно.
и еще вопрос:
— если я куплю дополнение я смогу его использовать в других проектах?
по поводу пользования дополнения читать тут — modstore.pro/info/connection
А при покупке количество товара уменьшается? И можно как-нибудь не давать возможности покупать товар с нулевым остатком?
Его нужно просто активировать.
Встал вопрос в переделке каталога на сайте.
Нужна возможность обработать .csv, так чтобы фасовки зашли в твой чудесный компонент.
Товар — загружен
-------Размерность — загружена
---------------Фасовка/цена — необходимо
Есть ли такая возможность из коробки? из данных обсуждений не ясно.
Если нет, то сколько будет стоить?
Пишите в поддержку, там решим.
Спасибо!
В /assets/components/msop2/js/web/default.js увидел только:
Можно ли доделать артикул? Компонент куплен.
Спасибо!
костыльимпорт дополнительных цен для импорта из csvно все зависит от того, как подготовлен сам csv.
Решение не претендует на эталонное — но работает.
не совсем понятно почему разработчики проигнорировали основной способ наполнения минишопа и приходится изощряться
А можно с помощью этого плагина реализовать привязку размеров товара в зависимости от цвета?
Т.е. для каждого цветового решения — свой набор размеров (и их количество)
Что-то я не улавливаю, как на js сделать зависимости.
Допустим у меня есть Товар А, который представлен в двух цветах — Красный и Черный.
У Черного доступны размеры — XS, M, XL.
У Красного — XS, M, L, XXL.
Соответственно если выбран Красный — доступны только размеры XS, M, L, XXL., если Черный — XS, M, XL.
Товаров много, размеры и цвета разные.
но логика работы такая же. например одна вкладка, на один цвет, допустим цветов 3
через простые табы, например jqueryui.com/tabs/
в содержимом уже прописаны нужные тебе параметры, заранее заданные в админке и вписанные в value у input'a
в админке можно просто создать все возможные варианты (допустим может быть максимум 3 цвета и 5 размеров), оставить по дефолту их незаполненными и необязательными,
а при вызове табов на странице уже проверять, если поле с цветом 1 не пустое — тогда выводим таб 1, и так на каждый цвет :)
с размерами можно через чекбоксы делать например.
если цвета не фиксированные у всех товаров — то пускай в админке они вбиваются в hex формате))
не знаю как еще можно объяснить это
по простому говоря:
выбираешь пункт 1 (размер XS) — в значение цены вписывается сумма одна
выбираешь пункт 2 (размер X) — в значение цены вписывается сумма другая
через простой яваскрипт меняешь содержимое нужного ид
про цену пригодится статья
www.tale.by/blog/izmenenie-czenyi-ms2.html
убился ее искать)
мне нужно брать системную настройку из ClientConfig с ценой (дополнительная цена за подробную консультацию мэнэджера при доставке товара) и выводить на страничке продукта как опцию. Эта опция для всех продуктов одна, (цена на которую увеличивается сумма товара). Для каждого отдельного продукта её забивать не хотелось бы.
гораздо лучше будет:
==============
— Added new events:
«msop2OnBeforeProductGetPrice»
«msop2OnProductGetPrice»
«msop2OnBeforeProductGetWeight»
«msop2OnProductGetWeight»
«msop2OnBeforeProductGetArticle»
«msop2OnProductGetArticle»
теперь можно создать плагин в нем получить опции и модифицировать цену…
например
domain.com/good.html?color=green&consultation=1
В результате, товар бы отображался сразу с ценой, посчитанной через модуль msOptionsPrice2, с параметрами:
и клиенту оставалось бы только нажать «в корзину» и заняться оформлением заказа.
АнтонКакое событие использовать чтобы модифицировать цену?
Может есть где нибудь документация по новым событиям?
Что означает cost? Как его отлавливать на фронте?
это и есть стоимость продукта, дефолтный скрипт его обрабатывает.
АнтонКакой самый лучший способ просматривать переменные и их значения при работе на хостинге?
Сейчас только [[+price]] видно.
В итоге получается, что никак не создать менеджера интернет магазина с ограниченными правами, который мог бы редактировать опции цены.
Какое есть решение проблемы?
Добавил политику доступа msOptionsPrice2ManagerPolicy. Обновите компонент и добавьте ее нужной группе пользователей.
А будет ли msOptionsPrice2 работать, если опции будут не в виде select, а в виде input radio? msOptionsPrice не работает, насколько я понял…
Да, будет.
Обновил miniShop 2.2 -> 2.4 и пропала закладка «Опции-Цены» (https://yadi.sk/i/mjeoVlSWs78Yu)
Попробовал переустановить msOptionsPrice2 — не помогло. Пока откатился обратно на 2.2, но как сделать так, чтобы в 2.4. закладка отображалась?
Версия 2.4.0 beta2 — это пока лишь бета версия, будет стабильная — будет и совместимость.
т.е. пока никак.
Будем подождать.
Мне нужно учитывать количество (чтобы при покупке уменьшалось), но если количество дойдет до 0 то все ровно можно было добавить товар в корзину.
Я так понимаю нужно подредактировать плагин msOptionsPrice2Remains?
убери строчки
На demo.vgrish.ru сейчас нет примеров…
Вы не первый кто про это спрашивает, постараюсь в течении недели решить этот вопрос.
какая версия дополнения?
Напишите в ТП с указанием доступов к админке, спасибо!
Просто покупатель только когда в саму карточку товара проваливается понимает, что там разный вес или размер…
[[+longtitle:is=`one`:then=``:else=`от`]]
Просто нужно, чтобы «цена от» показывала только у тех товаров, у которых в поле [[+quantity]] минимум 2 значения веса, объема или размера и соответственно цены разные, а там где в этом поле 1 значение веса, то никакого «от» не должно быть.
Спасибо!
Подойдет ли этот компонент для такой задачи:
В карточке товара выпадающий список с названиями магазинов. При выборе магазина меняется цена и доступное количество товара.
Можно создать опцию город и создать модификации товара на основе этой опции.
Задать стоимость товара и доступное кол-во.
Скажем у меня 10 магазинов в 4х городах, которые должны быть в одном общем выпадающем списке на сайте).
Добавляю модификацию к товару и называю ее например «ТЦ Галерея» (по названию одного из магазинов).
Пытаюсь прописать в поле «цена» любое значение и получаю сообщение о том, что это поле должно быть уникальным.
Жму на кнопку "+", чтобы через нее добавить цену и количество. Добавляю количество, но цену тут тоже не добавить т.к. в выпадающем списке только мои добавленные опции.
Расскажите пожалуйста как правильно реализовать задачу и зачем вы советовали создать опцию «город»?
создаете модификацию, в каждой модификации добавляете опцию со своим магазином. На фронте выводится список магазинов и подгружается нужная цена.
Если непонятно напишите в ТП с указанием доступов к админке и ссылкой на тестируемый товар. Подскажу как и что сделать.
Спасибо!
Спасибо огромное за помощь!!!
У всех так или у меня что-то не настроено?
навешано на событие OnResourceDuplicate, а при дублировании категории оно не срабатывает на товарах, соответственно и не копируются модификации. Подробней изучу как будет время.
пытаюсь сделать автоматическую конвертацию цены в долларах в гривну на сайте.
создал плагин «currency», с таким содержимым:
и добавил его к событию msOnGetProductPrice в плагине miniShop2
приоритет поставил выше плагина msOptionsPrice (11)
на сайте цена меняется, но когда переключаю цену с помощью модификаторов, она не меняется (( как ее можно заставить меняться в модификаторах?
Только этот вариант? $modx->call('msopModification', 'getProductModification', array(&$modx, $product))