[Discontrol] - Контроль скидок магазина
Система скидок для магазинов* на MODX Revolution
* Система скидок позволяет работать с любым магазином на MODX Revolution. Действующая версия содержит обработчики только для магазина [miniShop2]
Скидки на продукт
Приложения >> Контроль скидок >> Вкладка «Скидки на Продукт».
Панель управления скидками на продукт.
Доступно:
Окно редактирования скидки на продукт.
Расчет скидки на продукт.
В зависимости от условий задания скидки, полученных опций продукта, для каждого продукта по группе пользователя
формируется массив скидок вида:
Для расчета скидки используется настройка product_option_expression вида:
скидок. Записывается в переменную groups и для расчета итоговой скидки используется настройка
product_group_expression вида:
Пример задания скидки на продукт.
Постановка на скидку оптовикам:
Приложения >> Контроль скидок >> Вкладка «Скидки на Заказ».
Панель управления скидками на заказ.
Доступно:
Окно редактирования скидки на заказ.
Расчет скидки на заказ.
В зависимости от условий задания скидки, полученных опций заказа, для каждого заказа по группе пользователя
формируется массив скидок вида:
Для расчета скидки используется настройка order_option_expression вида:
скидок. Записывается в переменную groups и для расчета итоговой скидки используется настройка
order_group_expression вида:
Пример задания скидки на заказ.
Постановка на скидку оптовикам:
Приложения >> Контроль скидок >> Вкладка «Сравнение».
Панель управления сравнениями опций.
Доступно:
Окно редактирования сравнения опций.
Расчет сравнения опций.
Для сравнения применяется заданное выражение. Доступные переменные:
скидок или же сравнение ложно — скидка не вычисляется.
При сравнении учитывается заданный тип данных, доступны string, integer, float.
Так же вы можете составить свое собственное сравнение с использованием дополнительных переменных заданных через
параметр переменные (json строка)*.
Операторы сравнения.
Доступные операторы:
Системные настройки >> discontrol
Раздел «Основные» настройки.
Приложения >> Контроль скидок >> Вкладка «Скидки на Продукт» >> Вкладка «Проверка»
Приложения >> Контроль скидок >> Вкладка «Скидки на Продукт» >> Вкладка «Проверка»
Проверка скидок.
Для продуктов и заказав реализована панель проверки скидок.
Проверить величину скидки незарегистрированного пользователя на «продукт 1»
Задаем следующие параметры:
[x] пользователь Нет
[x] продукт «продукт 1»
В окне расчета появится лог расчета скидки на продукт.
Проверить величину скидки незарегистрированного пользователя на «заказ» при сумме покупок 5500 у.е.
Задаем следующие параметры:
[x] пользователь Нет
[x] магазин «miniShop2»
[x] переменные
Скидки — Сниппет dcDiscounts
Сниппет dcDiscounts для информирования покупателей о полученных и возможных скидках.
Параметры сниппета:
Постановка на скидку:
— Геозависимые скидки на продукт магазина
— Скидка по времени суток
* Система скидок позволяет работать с любым магазином на MODX Revolution. Действующая версия содержит обработчики только для магазина [miniShop2]
Скидки на продукт
Приложения >> Контроль скидок >> Вкладка «Скидки на Продукт».
Панель управления скидками на продукт.
Доступно:
- сортировка по группе пользователя
- сортировка по классу опций продукта
- поиск по описанию, классу, ключу, значению
Окно редактирования скидки на продукт.
- группа пользователя
- класс опции продукта
- ключ опции продукта
- значение опции продукта
- сравнение
- скидка продукта
- условие
- описание
Расчет скидки на продукт.
В зависимости от условий задания скидки, полученных опций продукта, для каждого продукта по группе пользователя
формируется массив скидок вида:
[msProductData] = array(
0 => 10,
1 => 35,
2 => 20
)
[msVendor] = array(
0 => 16
)
[msProductOption] = array(
0 => 50,
1 => 10
)
Где ключ массива — класс опции продукта, а значения — возможные скидки на продукт.Для расчета скидки используется настройка product_option_expression вида:
max~$msProductOption + max~$msProductData + max~$msVendor
в данном случае рузультат общей скидки по группе пользователя на продукт представляет из себя сумму максимальныхскидок. Записывается в переменную groups и для расчета итоговой скидки используется настройка
product_group_expression вида:
max~$groups
Итоговая скидка на продукт равна максимальной скидке на продукт по группам пользователя.Пример задания скидки на продукт.
Постановка на скидку оптовикам:
- дать скидку на продукты бренда «adidas» 10%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msVendor
[x] ключ name
[x] значение adidas
[x] скидка 10%
[x] сравнение (string) — Равно
- дать скидку на все продукты нового поступления скидку 5%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msProductData
[x] ключ new
[x] значение 1
[x] скидка 5%
[x] сравнение (integer) — Равно
- дать скидку на все продукты стоимостью более «3 000 руб.» 10%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msProductData
[x] ключ price
[x] значение 3000
[x] скидка 10%
[x] сравнение (float) — Больше
- дать скидку на все продукты c цветом «белый» 5%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msProductOption
[x] ключ value
[x] значение белый
[x] скидка 5%
[x] сравнение (string) — Равно
[x] условие {«key»:«color»}
- дать скидку на продукты категории «ботинки», «штиблеты» 100 у.е.
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс modResource
[x] ключ parent
[x] значение [11,12] — где 11,12 id нужных нам категорий
[x] скидка 100
[x] сравнение (mixed) — Присутствует
Приложения >> Контроль скидок >> Вкладка «Скидки на Заказ».
Панель управления скидками на заказ.
Доступно:
- сортировка по группе пользователя
- сортировка по классу опций заказа
- поиск по описанию, классу, ключу, значению
Окно редактирования скидки на заказ.
- группа пользователя
- класс опции заказа
- ключ опции заказа
- значение опции заказа
- сравнение
- скидка заказа
- условие
- описание
Расчет скидки на заказ.
В зависимости от условий задания скидки, полученных опций заказа, для каждого заказа по группе пользователя
формируется массив скидок вида:
[msSessionCart] = array(
0 => 100,
1 => 350,
2 => 200
)
[msCustomerProfile] = array(
0 => 160
)
[msOrder] = array(
0 => 500,
1 => 100
)
Где ключ массива — класс опции заказа, а значения — возможные скидки на заказ.Для расчета скидки используется настройка order_option_expression вида:
max~$msSessionCart + max~$msCustomerProfile + max~$msOrder
в данном случае рузультат общей скидки по группе пользователя на заказ представляет из себя сумму максимальныхскидок. Записывается в переменную groups и для расчета итоговой скидки используется настройка
order_group_expression вида:
max~$groups
Итоговая скидка на заказ равна максимальной скидке на заказ по группам пользователя.Пример задания скидки на заказ.
Постановка на скидку оптовикам:
- дать скидку на заказ при сумме в корзине больше «20 000 руб.» 10%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msSessionCart
[x] ключ total_cost
[x] значение 20000
[x] скидка 10%
[x] сравнение (float) — Больше
- дать скидку на заказ при кол-ве в корзине товаров больше «20 шт.» 10%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msSessionCart
[x] ключ total_count
[x] значение 20
[x] скидка 10%
[x] сравнение (float) — Больше
- дать скидку на заказ при наличии ранее покупок на сумму свыше «50 000 руб.» 20%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msCustomerProfile
[x] ключ spent
[x] значение 50000
[x] скидка 20%
[x] сравнение (float) — Больше
- дать скидку на заказ при наличии заказов оплаченных ранее через «Яндекс Кассу» 5%
Создаем скидку с параметрами:
[x] группа Оптовики
[x] класс msOrder
[x] ключ delivery
[x] значение 2
[x] скидка 5%
[x] сравнение (integer) — Равно
[x] условие {«status»:2}
Приложения >> Контроль скидок >> Вкладка «Сравнение».
Панель управления сравнениями опций.
Доступно:
- поиск по описанию, названию
Окно редактирования сравнения опций.
- имя сравнения
- тип значений сравнения
- выражения сравнения
- переменные
- описание
Расчет сравнения опций.
Для сравнения применяется заданное выражение. Доступные переменные:
- c — значение полученной опции
- v — значение заданное для сравнения
скидок или же сравнение ложно — скидка не вычисляется.
При сравнении учитывается заданный тип данных, доступны string, integer, float.
Так же вы можете составить свое собственное сравнение с использованием дополнительных переменных заданных через
параметр переменные (json строка)*.
Операторы сравнения.
Доступные операторы:
- + сложение
- - вычитание
- * умножение
- / деление
- = равно
- != не равно
- < меньше
- > больше
- in присутствует в массиве
- !in не присутствует в массиве
- min~ наименьшее значение
- max~ наибольшее значение
- sum~ сумма значений
- shift~ первое значение
- pop~ последнее значение
- rand~ рандомное значение
Системные настройки >> discontrol
Раздел «Основные» настройки.
- product_classes классы продукта
Список классов продукта через запятую.
По умолчанию доступно modResource,msProductData,msVendor,msProductOption,msSessionCar
- order_classes классы заказа
Список классов заказ через запятую.
По умолчанию доступно msCustomerProfile,msOrder,msSessionCart
- allow_zero_price разрешить нулевую стоимость продукта
Разрешить нулевую стоимость продукта в результате скидки.
- allow_zero_cost разрешить нулевую стоимость заказа
Разрешить нулевую стоимость заказа в результате скидки.
- product_option_expression выражение расчета скидки по опциям продукта
Результат скидки будет помещен в массив groups.
По умолчанию max~$msProductOption + max~$msProductData + max~$msVendor — сумма максимальных скидок.
- product_group_expression выражение расчета скидки по группе пользователя
Результат скидки является окончательным.
По умолчанию max~$groups — максимальное значение из возможных.
- order_option_expression выражение расчета скидки по опциям заказа
Результат скидки будет помещен в массив groups.
По умолчанию max~$msSessionCart + max~$msCustomerProfile + max~$msOrder — сумма максимальных скидок.
- order_group_expression выражение расчета скидки по группе пользователя
Результат скидки является окончательным.
По умолчанию max~$groups — максимальное значение из возможных.
Приложения >> Контроль скидок >> Вкладка «Скидки на Продукт» >> Вкладка «Проверка»
Приложения >> Контроль скидок >> Вкладка «Скидки на Продукт» >> Вкладка «Проверка»
Проверка скидок.
Для продуктов и заказав реализована панель проверки скидок.
Доступно:
- выбор пользователя
- выбор продукта
- выбор магазина
- переменные
* выражение расчета скидки по опции
* выражение расчета скидки по группе
* дополнительные переменные
Можно указать в виде json строки с указанием класса скидки, ключа и значения
Пример проверки скидки на продукт.Проверить величину скидки незарегистрированного пользователя на «продукт 1»
Задаем следующие параметры:
[x] пользователь Нет
[x] продукт «продукт 1»
В окне расчета появится лог расчета скидки на продукт.
[user:groups] [0]
[discounts] [{"msProductData":["5"]}]
[option:expression] max~$modResource + max~$msProductOption + max~$msProductData + max~$msVendor +
max~$msSessionCart
[group:discounts] [5]
[group:expression] max~$groups
[price:evaluate] 50
[discount:evaluate] 5
[newprice:evaluate] 45
Расшифровка лога расчета:- [user:groups] группы пользователя
получена группа 0[user:groups] [0]
- [discounts] скидки продукта по опциям
для данного продукта действует скидка 5 у.е. по классу msProductData[discounts] [{"msProductData":["5"]}]
- [option:expression] выражение для расчета скидки по опциям
дефолтное значение для расчета скидки, равно сумме всех максимальных значений по опциям продукта[option:expression] max~$modResource + max~$msProductOption + max~$msProductData + max~$msVendor + max~$msSessionCart
- [group:discounts] скидки продукта по группам
получена скидка 5 у.е.[group:discounts] [5]
- [group:expression] выражение для расчета скидки по группам
максимальное значение из возможных[group:expression] max~$groups
- [price:evaluate] стоимость продукта
получена стоимость продукта 50 у.е.price:evaluate] 50
- [discount:evaluate] скидка продукта
получена скидка продукта 5 у.е.[discount:evaluate] 5
- [newprice:evaluate] новая стоимость продукта
получена новая стоимость продукта 45 у.е.[newprice:evaluate] 45
Проверить величину скидки незарегистрированного пользователя на «заказ» при сумме покупок 5500 у.е.
Задаем следующие параметры:
[x] пользователь Нет
[x] магазин «miniShop2»
[x] переменные
{"msSessionCart":{"total_cost":5500},"cost":5500}
В окне расчета появится лог расчета скидки на заказ.[user:groups] [0]
[discounts] [{"msSessionCart":["60"]}]
[option:expression] max~$msCustomerProfile + max~$msOrder + max~$msSessionCart
[group:discounts] [60]
[group:expression] max~$groups
[cost:evaluate] 5500
[discount:evaluate] 60
[newcost:evaluate] 5440
Расшифровка лога расчета:- [user:groups] группы пользователя
получена группа 0[user:groups] [0]
- [discounts] скидки продукта по опциям
для данного заказа действует скидка 60 у.е. по классу msSessionCart[discounts] [{"msSessionCart":["60"]}]
- [option:expression] выражение для расчета скидки по опциям
дефолтное значение для расчета скидки, равно сумме всех максимальных значений по опциям заказа[option:expression] max~$msCustomerProfile + max~$msOrder + max~$msSessionCart
- [group:discounts] скидки продукта по группам
получена скидка 60 у.е.[group:discounts] [60]
- [group:expression] выражение для расчета скидки по группам
максимальное значение из возможных[group:expression] max~$groups
- [cost:evaluate] 5500 стоимость заказа
получена стоимость заказа 5500 у.е.[cost:evaluate] 5500
- [discount:evaluate] скидка заказа
получена скидка заказа 60 у.е.[discount:evaluate] 60
- [newcost:evaluate] новая стоимость заказа
получена новая стоимость заказа 5440 у.е.[newcost:evaluate] 5440
Скидки — Сниппет dcDiscounts
Сниппет dcDiscounts для информирования покупателей о полученных и возможных скидках.
Параметры сниппета:
- object — объект получения информации о скидке
доступно msProduct и msOrder
по умолчанию msOrder
- class — класс получения информации о скидке
по умолчанию msSessionCart
- key — ключ получения информации о скидке
по умолчанию total_cost
- comparison — сравнение
вывод либо полученных скидок (true), либо возможных (false)
по умолчанию true
- type — тип данных расчета
доступно string, integer, float, mixed
по умолчанию float
- expression — выражение подсчета
в сниппете доступны следующие переменные:
по умолчанию $c — $v* v - значение указанное в скидке * c - значение полученное по указанному ключу * p - значение стоимости (продукта/ заказа) * d - значение скидки (продукта/ заказа)
- tplRow — чанк вывода информации о скидке
по умолчанию
@INLINE <div class="[[+comparison]]">[[+data.discount]] - [[+data.calc]]</div>
- tplOuter — чанк обертки
по умолчанию
@INLINE <div>[[%discontrol_[[+object]]]] [[%discontrol_comparison_[[+comparison]]]]: <div class="discontrol-discounts [[+selector]]" data-propkey="[[+propkey]]">[[+output]]</div> </div>
- tplEmpty — чанк вывода информации об отсутствии скидок
по умолчанию
@INLINE <div>No discounts</div>
- frontendCss — Файл с css стилями для подключения на фронтенд
- frontendJs — Файл с javascript для подключения на фронтенде
- selector — Имя CSS класса, который будет использован как jQuery селектор для инициализации
- limit — Лимит выборки результатов
- showLog — Вывод информации о работе сниппета в лог MODX
Постановка на скидку:
- скидка на продукт 4% при общей сумме заказа более 4000 у.е
- скидка на продукт 7% при общей сумме заказа более 20000 у.е
[[!dcDiscounts?
&object=`msProduct`
&comparison=`1`
&expression=`$d`
]]
Вывод информации о возможных скидках на странице продукта[[!dcDiscounts?
&object=`msProduct`
&comparison=`0`
&expression=`$v - $c`
]]
p.s. Всем спасибо за внимание.— Геозависимые скидки на продукт магазина
— Скидка по времени суток
Поблагодарить автора
Отправить деньги
Комментарии: 74
Не могу обнаружить ссылки на данное дополнение, где можно посмотреть?
спасибо!
Обновление 1.0.9-beta (26.05.2016)
— улучшен сниппет подсчета скидок
— добавлен класс «msSessionOrder»
теперь можно делать скидки на заказ в зависимости от свойств заказа. Например можно сделать скидку на определенный вид доставки, способ оплаты и тд… хоть скидку в зависимости от комментария к заказу.
все это делается просто в админке без танцев с бубном.
— улучшен сниппет подсчета скидок
— добавлен класс «msSessionOrder»
теперь можно делать скидки на заказ в зависимости от свойств заказа. Например можно сделать скидку на определенный вид доставки, способ оплаты и тд… хоть скидку в зависимости от комментария к заказу.
все это делается просто в админке без танцев с бубном.
Он совместим с msOptionsPrice2?
на данный момент не совместим.
Собственно задача такая: сделать скидки по условию. Например, если человек зарегистрирован на сайте 1 день, то ему скидка 1%, 2 дня — 2% и т.д. То есть, чтобы можно было как-то условие обрабоатать, и в соответствии с ним пересчитать цену. Куда и где копать?
указываем в настройке пакета discontrol_product_classes класс modUser
указываем в настройке пакета discontrol_product_option_expression класс $modUser
max~$modResource + max~$msProductOption + max~$msProductData + max~$msVendor + max~$msSessionCart + max~$msSessionCartEx +
max~$modUser
создаем сравнение
выражение для сравнения
(($time - $c) / 60 / 60 / 24) > $v
создаем скидку
указываем кол-во дней и скидку
все!
А как в корзине вывести сумму со скидкой, или вообще инфу что скидка есть и какая она.
Разобрался.
Другой вопрос созрел.
Есть скидки на заказ в корзине, например больше 9 штук скидка 20%
Теперь нужно указать скидки на отдельные товары
И получается наложение скидок, т.е. на товар с id 21 имеется скидка 20% и если набрать их 10 штук то накладывается скидка на заказ, чего не должно быть.
как так делается?
Есть скидки на заказ в корзине, например больше 9 штук скидка 20%
Теперь нужно указать скидки на отдельные товары
И получается наложение скидок, т.е. на товар с id 21 имеется скидка 20% и если набрать их 10 штук то накладывается скидка на заказ, чего не должно быть.
как так делается?
скидка на товар никак не влияет на скидку на заказ они живут каждая своей жизнью.
ок.
Владимир, есть ли английская локализация? И если к примеру установлена скидка при определенном количестве товаров в корзине, как она отображается? Есть ли старая цена рядом с новой ценой в списке товаров в корзине или размер скидки отображается только в отдельном блоке с помощью dcDiscounts? Спасибо!
есть ли английская локализация?нет, если есть в ней необходимость могу сделать с помощью гуглтранслейт…
Есть ли старая цена рядом с новой ценой в списке товаров в корзине или размер скидки отображается только в отдельном блоке с помощью dcDiscounts?только в отдельном блоке с помощью dcDiscounts
Мне нужно в зависимости от акции (например, скидка на все товары определенного раздела) выводить разные бирки (текстовые, либо изображения) у товаров. Не нашел как это сделать стандартными средствами. Решил просто получать id акций из базы и сравнивать подходит ли товар под эту акцию, а потом уже как-то выводить бирки.
Проблема в том что никак не пойму как определить по товару к какой акции он относится. Нашел такой метод getProductAllDiscounts, но он возвращает лишь разницу в цене.
Можно ли как-то узнать акцию по товару?
Проблема в том что никак не пойму как определить по товару к какой акции он относится. Нашел такой метод getProductAllDiscounts, но он возвращает лишь разницу в цене.
Можно ли как-то узнать акцию по товару?
На данный момент такой возможности нет. Скидок никак не привязаны к какому то конкретному продукту.
Подумаю что можно сделать.
Подумаю что можно сделать.
Добрый день, скажите возможен такой функционал:
При покупки 3 любых товаров(даже одних и техже, к примеру один товар — 3шт) из конкретной рубрики, их цена становиться меньше… для каждого товара указать новую цену, к примеру было по 380 каждый, а стало 300
При покупки 3 любых товаров(даже одних и техже, к примеру один товар — 3шт) из конкретной рубрики, их цена становиться меньше… для каждого товара указать новую цену, к примеру было по 380 каждый, а стало 300
Доброе утро.
Из коробки такого нет.
Можно написать свой класс в который заложить нужную логику.
Из коробки такого нет.
Можно написать свой класс в который заложить нужную логику.
При покупки 3 любых товаровВы подразумеваете под покупкой добавление продукта в корзину? или же покупку — создание заказа и последующую оплату.
Подскажите, как создать сравнение для скидки от суммы1 до суммы2
Т.е. скидка действует только на диапазон от 10 000 до 20 000.
Это возможно?
Т.е. скидка действует только на диапазон от 10 000 до 20 000.
Это возможно?
на данный момент нельзя. Я подумаю как сделать.
Спасибо.
Еще вопрос один…
Скидка на заказ при сумме в корзине больше «20 000 руб.» 10%
[x] класс msSessionCart
[x] ключ total_cost
[x] значение 20000
[x] скидка 10%
[x] сравнение (float) — Больше
Но total_cost — это вместе с доставкой, а как сделать, чтобы скидка был и на сумму без доставки? На cost.
Пробовала так
[x] класс msOrder
[x] ключ сost
[x] значение 20000
[x] скидка 10%
[x] сравнение (float) — Больше
Но скидка вообще не присваивается.
Еще вопрос один…
Скидка на заказ при сумме в корзине больше «20 000 руб.» 10%
[x] класс msSessionCart
[x] ключ total_cost
[x] значение 20000
[x] скидка 10%
[x] сравнение (float) — Больше
Но total_cost — это вместе с доставкой, а как сделать, чтобы скидка был и на сумму без доставки? На cost.
Пробовала так
[x] класс msOrder
[x] ключ сost
[x] значение 20000
[x] скидка 10%
[x] сравнение (float) — Больше
Но скидка вообще не присваивается.
Но total_cost — это вместе с доставкой, а как сделать, чтобы скидка был на сумму без доставки? На cost.класс msSessionCart работает c корзиной магазина и там есть github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/minishop2/mscarthandler.class.php#L329-L332
эти поля. Можно расширить класс корзины и добавить туда необходимое поле стоимости корзины без доставки. Только так.
Пробовала таккласс msOrder работает с уже существующими заказами. но не с текущим, так как он располагается только в сессии.
[x] класс msOrder
[x] ключ сost
[x] значение 20000
[x] скидка 10%
[x] сравнение (float) — Больше
Но скидка вообще не присваивается.
Спасибо.
Хочу вывести в заказе, какая скидка присвоена на заказ.
Но у меня их две от 10 000 и от 20 000
Заказываю на 25 000 и вижу надпись
Хочу вывести в заказе, какая скидка присвоена на заказ.
Но у меня их две от 10 000 и от 20 000
Заказываю на 25 000 и вижу надпись
Скидка на заказ получена:
3% — при заказе больше 10 000.00
5% — при заказе больше 20 000.00
[[!dcDiscounts?
&object=`msOrder`
&comparison=`1`
&expression=`$v`
&tplRow=`@INLINE
<div class="[[+comparison]]">[[+data.discount]] - при заказе больше [[+data.calc]]</div>`
]]
Как только нужную?
напишите в ТП с указанием доступов к админке сайта. Посмотрю какие скидки вы там задаете и что хотите вывести.
Спасибо!
Спасибо!
Еще какая-то беда с ними.
Скидка первая должна быть только если на 10 000 купил. А она в корзине на любую сумму заказа присваивается.
Скидка первая должна быть только если на 10 000 купил. А она в корзине на любую сумму заказа присваивается.
в ТПэто куда?
ТехПоддержка
ок.
Только заказчик не будет покупать компонент, если в нем что-то не работает.
Попробую убедить.
Только заказчик не будет покупать компонент, если в нем что-то не работает.
Попробую убедить.
Но как то же ты работаешь с компонентом? Если пакет взят на тестовом сайте modhost, то проблем со скидыванием доступа вообще быть не должно, верно?
Возможен ли вывод результата работы сниппетов dcDiscounts и dcProductDiscount в результатах поиска mFiltr2?
Вызываю сниппет dcProductDiscount в чанке tpl.mSearch2.row — результат не отображается.
При вызове чанка dcDiscounts без указания значений &class отображается пустой шаболон: «Скидка на продукт получена: No discounts „
Если указать значения, то это приводит к 500 ошибки
Вызываю сниппет dcProductDiscount в чанке tpl.mSearch2.row — результат не отображается.
При вызове чанка dcDiscounts без указания значений &class отображается пустой шаболон: «Скидка на продукт получена: No discounts „
[[!dcDiscounts?
&object=`msProduct`
&comparison=`1`
&expression=`$d`
]]
Если указать значения, то это приводит к 500 ошибки
[[!dcDiscounts?
&object=`msProduct`
&comparison=`1`
&expression=`$d`
&class=`modResource,msVendor`
]]
напишите в ТП с указанием доступа к админ панели — посмотрю в чем дело.
Спасибо!
Спасибо!
Доброго времени суток. Подскажите можно ли давать скидку конкретному пользователю на группу товаров?
Добрый день!
Установил компонент.
Настроил скидку на все товары в 25%. Скидка срабатывает, но почему-то не у всех товаров показывает старую цену при добавлении в корзину.
Пытался понять, по какому признаку так происходит, но не удалось. Причем это происходит у товаров с ценной больше 7 000 рублей
Установил компонент.
Настроил скидку на все товары в 25%. Скидка срабатывает, но почему-то не у всех товаров показывает старую цену при добавлении в корзину.
Пытался понять, по какому признаку так происходит, но не удалось. Причем это происходит у товаров с ценной больше 7 000 рублей
Добрый день.
По вопросам работы платных дополнений следует писать в ТП
В сообщении указываете доступ к админке сайта и ссылку на проблемное место.
Спасибо!
По вопросам работы платных дополнений следует писать в ТП
В сообщении указываете доступ к админке сайта и ссылку на проблемное место.
Спасибо!
Отправил, спасибо
Добрый день! Такой вопрос, у меня есть скидка на все товары — 25%, но мне надо исключить из этой скидки скажем товары определенного бренда, я создаю еще одну скидку с параметрам, но он не срабатывает
Приложение — Discontrol
Приложение — Discontrol
Добрый день.
Если вам нужно задать какие то отдельные условия используйте поле условие, например
скидка для всех кроме бренда adidas
Если вам нужно задать какие то отдельные условия используйте поле условие, например
скидка для всех кроме бренда adidas
{"Vendor.name:!=":"adidas"}
Добрый день, как правильно использовать несколько условий?
Дано:
[x] класс msSessionCart
[x] ключ total_cost
[x] значение 3000
[x] скидка 3%
[x] сравнение (float) — Больше
Для того чтобы эта скидка применялась в промежутке от 3000 до 5000, ставлю условие
Пробовал по логике так, не получается оба варианта
Дано:
[x] класс msSessionCart
[x] ключ total_cost
[x] значение 3000
[x] скидка 3%
[x] сравнение (float) — Больше
Для того чтобы эта скидка применялась в промежутке от 3000 до 5000, ставлю условие
{"total_cost:<":"5000"}
А как например не применять эту скидку если в корзине товара на 3500, но у пользователя стоит в профиле комментарий notsale?Пробовал по логике так, не получается оба варианта
{"total_cost:<":"5000"},{"modUserProfile.comment:!=":"notsale"}
и{"total_cost:<":"5000", "modUserProfile.comment:!=":"notsale"}
класс msSessionCart не работает с профилем пользователя потому он точно не видит ваше условие
modUserProfile.commentps. по вопросам работы платных дополнений пишите в ТП, спасибо!
Можно ли как то использовать 2 разных класса скидок совместно?
1. от суммы заказа
В итоге, если я новый клиент, то я на любой свой заказ получу скидку, если сумма превысит хоть одно из условий в пункте 1
Если я постоянный клиент и имею сумму ранее оформленных заказов свыше 10 000, и в текущей сессии я набрал >25000, то по логике мне должна примениться скидка из пункте 1 и ее размер должен составить 10%
p/s/ Правильно ли вообще использовать такой вывод:
1. от суммы заказа
Больше 3 000 руб. — 3 %2. Дать скидку на заказ при наличии ранее покупок на сумму свыше «10 000 руб.» 7%
Больше 5 000 руб. — 5 %
Больше 10 000 руб. — 7 %
Больше 25 000 руб. — 10 %
Больше 50 000 руб. — 13 %
Больше 100 000 руб. — 15 %
В итоге, если я новый клиент, то я на любой свой заказ получу скидку, если сумма превысит хоть одно из условий в пункте 1
Если я постоянный клиент и имею сумму ранее оформленных заказов свыше 10 000, и в текущей сессии я набрал >25000, то по логике мне должна примениться скидка из пункте 1 и ее размер должен составить 10%
p/s/ Правильно ли вообще использовать такой вывод:
[[!dcDiscounts?
&object=`msOrder`
&comparison=`1`
&class=`msSessionCart,msCustomerProfile`
&expression=`$p-$d`
]]
Володя, приветствую!
Подскажи, смогу я дать скидку определенному товару 10% первым 10-и покупателям!?
Спасибо!
Подскажи, смогу я дать скидку определенному товару 10% первым 10-и покупателям!?
Спасибо!
Плохо, что нельзя прямым способом выдать все товары ТОЛЬКО со скидкой.
В таблице [префикс]_discontrol_product_discounts столбец value имеет массив плюс столбец active = 1.
Как это все вытащить в msProducts например?
В таблице [префикс]_discontrol_product_discounts столбец value имеет массив плюс столбец active = 1.
Как это все вытащить в msProducts например?
Не работает dcDiscounts на странице продукта
[[!dcDiscounts? &object=`msProduct` &expression=`$v`]]
Цена: 38855550
Скидка на продукт получена:
No discounts
День добрый,
удалось решить? тоже столкнулся…
удалось решить? тоже столкнулся…
Нет. Автор пропал.
Вы обращались в Тех. поддержку?
Направьте, пожалуйста, ссылку на тикет — посмотрю.
Направьте, пожалуйста, ссылку на тикет — посмотрю.
После года с момента покупки тикет на компонент не доступен.
Даже если появляются новые фишки и ошибки у модуля нельзя сообщить об ошибке автору.
Даже если появляются новые фишки и ошибки у модуля нельзя сообщить об ошибке автору.
Борис, тогда понятно.
Да, возможность сигнализировать об идеях, предложениях и ошибках у нас в очереди доработок в Modstore.
P. S. Внимание автора обратим на ваш комментарий.
Да, возможность сигнализировать об идеях, предложениях и ошибках у нас в очереди доработок в Modstore.
P. S. Внимание автора обратим на ваш комментарий.
Андрей, вы тоже больше года назад покупали? Нет возможности создать тикет в Тех. поддержке?
вчера купили, создал (7573)
Решение от разработчика:
{'!dcProductDiscount'|snippet:[
'tplRow' => '@INLINE Скидка - {$data.discount|round}%',
'tplEmpty' => '@INLINE <!--Скидки нет-->',
'expression' => '100 - ($v*100/$p)',
]}
Белая страница сайта в итоге.
ошибка в {$data.discount|round}%
ошибка в {$data.discount|round}%
у меня норм,
предположу, что вам следует проверить «системные настройки», core, по фильтру «fenom»,
разрешить «Fenom в чанках» и тому подобное. Др. идей нет.
предположу, что вам следует проверить «системные настройки», core, по фильтру «fenom»,
разрешить «Fenom в чанках» и тому подобное. Др. идей нет.
pdotools_fenom_*** все включены
Такой вопрос, если хочется скидку только для товара, в pagetitle которого есть «Черный», это какие условия надо прописать?
Я прописал так, но не сработало
prntscr.com/mpe2dw
Я прописал так, но не сработало
prntscr.com/mpe2dw
Добрый вечер.
joxi.ru/8AnNWLnTjYv9ZA
joxi.ru/8AnNWLnTjYv9ZA
Все доброго времени суток, может кто-то или сам автор подскажет как сделать следующую акцию:
если в корзине больше трех товаров — то стоимость доставки становится равной нулю. Т е бесплатная доставка если в корзине больше трех товаров
если в корзине больше трех товаров — то стоимость доставки становится равной нулю. Т е бесплатная доставка если в корзине больше трех товаров
Можно ли как-то указать срок действия скидки? С одной даты до другой например.
— улучшен сниппет подсчета скидокчто то не получается сделать скидку от типа доставки
— добавлен класс «msSessionOrder»
теперь можно делать скидки на заказ в зависимости от свойств заказа. Например можно сделать скидку на определенный вид доставки, способ оплаты и тд… хоть скидку в зависимости от комментария к заказу.
все это делается просто в админке без танцев с бубном.
делаю так
[x] класс msSessionOrder
[x] ключ deliveryType
[x] значение 1
[x] скидка 15%
[x] сравнение (float) — Равно
значение 1 это способ доставки с id=1
или что то не так делаю
Так же пытаюсь реализовать скидку на тип доставки, причем еще и с минимальной стоимостью заказа.
Пока безуспешно.
Разработчик модуля, пишет пустые отписки из разряда, все работает, как правильно настроить думайте сами, я же не знаю что вы конкретно хотите, возможностей много.
Пока безуспешно.
Разработчик модуля, пишет пустые отписки из разряда, все работает, как правильно настроить думайте сами, я же не знаю что вы конкретно хотите, возможностей много.
я вам в ТП по существу ответил.
пишет пустые отписки из разряда, все работает, как правильно настроить думайте самиклевета.
и все же
что я делаю не так?
что я делаю не так?
Да вроде все делаете так.
Только ключ должен быть delivery, а значение это id.
Единственное у меня не получилось еще привязать скидку к минимальной сумме заказа, но Владимир, обещал посмотреть в воскресенье что с этим можно сделать.
Только ключ должен быть delivery, а значение это id.
Единственное у меня не получилось еще привязать скидку к минимальной сумме заказа, но Владимир, обещал посмотреть в воскресенье что с этим можно сделать.
прокидываете данные о корзине на событие dcOnAfterGetData
пример плагина
пример плагина
if ($modx->event->name === 'dcOnAfterGetData') {
if ($class === 'dcDataMiniShop2MsSessionOrder') {
/** @var miniShop2 $ms2 */
if ($ms2 = $modx->getService('miniShop2') AND $ms2->initialize($modx->context->key)) {
$data = array_merge($ms2->cart->status(), $data);
$modx->event->returnedValues['data'] = $data;
}
}
}
теперь в классе скидки заказа есть данные о корзине и можно прописать условие по сумме покупок{"total_cost:>":2000}
Владимир, очень благодарен вам за решение, спасибо, все работает.
Здравствуйте!
Подскажите пожалуйста:
1) Какое условие надо прописать для указания даты начала и окончания скидки?
2) Какое условие надо прописать, чтобы скидки не складывались а выводилась максимальная.
Пример:
Создаю акцию на msVendor 50% скидку и она не должна складываться со скидками на товар входящими в этот msVendor. И к тому же если на товар из этого msVendor скидка больше 50% то она не должна понижаться до 50%.
Такое возможно сделать.
Подскажите пожалуйста:
1) Какое условие надо прописать для указания даты начала и окончания скидки?
2) Какое условие надо прописать, чтобы скидки не складывались а выводилась максимальная.
Пример:
Создаю акцию на msVendor 50% скидку и она не должна складываться со скидками на товар входящими в этот msVendor. И к тому же если на товар из этого msVendor скидка больше 50% то она не должна понижаться до 50%.
Такое возможно сделать.
Добрый день, как настроить скидку на второй товар в корзине?
Здравствуйте. Подскажите, можно ли использовать ваш пакет для реализации скидочных карт для пользователей?
Не стоит думаю. Пакет старый, не обновляется. Последнее обновление было летом 19 года. Это очень давно!
Добрый вечер!
Подскажите, возможно ли сделать бесплатную доставку при стоимости заказа выше 1500руб? Только для определенного вида доставки.
Подскажите, возможно ли сделать бесплатную доставку при стоимости заказа выше 1500руб? Только для определенного вида доставки.
Здравствуйте.
Подскажите, как заставить корректно работать сортировку по цене ?sort=ms|price:asc mFilter2 + Discontrol
Дело в том что mFilter сортирует без учета цен скидки Discontrol
Обновление версии mFilter -miniShop2 -Discontrol не помогло.
На тестовом сервере modx host та же ситуация. Подозреваю, что такой баг у всех кто использует mFilter2 + Discontrol
Подскажите, как заставить корректно работать сортировку по цене ?sort=ms|price:asc mFilter2 + Discontrol
Дело в том что mFilter сортирует без учета цен скидки Discontrol
Обновление версии mFilter -miniShop2 -Discontrol не помогло.
На тестовом сервере modx host та же ситуация. Подозреваю, что такой баг у всех кто использует mFilter2 + Discontrol
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.