Совместимость:
OpenCart 2.3OCStore 2.3
До нормализации ситуации в Украине, модули для Украины не продаются (касается также и технической поддержки). Как ситуация нормализуется, продажи и техническая поддержка восстановятся. Не касается ХО, ЗО, ЛНР, ДНР.
Обращаю ваше внимание, что в моих модулях нет каких-то "вшитых гадостей". Ключи не требуют подключения к интернету. Поэтому у тех, кто приобрел модуль ранее, проблем с лицензией (и т.п.) не возникнет.
-------------------------------------------------------------------------------
IMDiscount (OC 2.3) — Стратегия скидок
Версию для OpenCart (ocStore) 2.0 - 2.2 можно найти тут:
https://liveopencart.ru/opencart-moduli-shablony/moduli/uchet-v-zakaze/imdiscount-%E2%80%94-strategiya-skidok
Версию для OpenCart 3 можно найти тут:
https://liveopencart.ru/opencart-moduli-shablony/moduli/tsenyi/imdiscount-oc-3-%E2%80%94-strategiya-skidok
Модуль IMDiscount (OC 2.3) Стратегия скидок позволяет организовать систему скидок для разных вариаций учёта. Так же поддерживается массовая генерация стандартных скидок и акций OpenCart.
Тестировалось в стандартном шаблоне и UniShop.
Примечание: Адаптация отображения под вашу тему не входит в стоимость модуля. Отображение тестировалось для стандартной темы опенкарт.
Демо админки OpenCart 2.3 (demo/demo)
Сами стратегии -
http://oc2302rs.im-cloud.ru/admin/index.php?route=extension/total/IMDiscount
Модуль вывода -
http://oc2302rs.im-cloud.ru/admin/index.php?route=extension/module/IMDiscount_modules&module_id=43
Посмотреть блоки (любая категория) -
http://oc2302rs.im-cloud.ru/category-20
Статьи про модуль
1.
Использование скидок в Opencart для повышения продаж
2.
Накопительные скидки для групп с IMDiscount
Возможности
1. Накопительные скидки и Скидки в текущем заказе.
2. Модули для вывода информации о скидках (стратегии Текущий заказ и Накопительные скидки), которые вы можете добавить в макеты и у которых много разных параметров.
3. Массовая генерация стандартных скидок и акций OpenCart для товаров.
4. Возможность задания условий сразу для количества и суммы, что облегчает процесс создания правил формирования скидок.
5. Три режима аккумуляции (большая, меньшая скидка и сумма), доступные как на глобальном уровне, так и в рамках расчёта по таблице стратегии скидок.
6. Поддержка процента и фиксированной суммы, которые можно указывать одновременно (выбирается максимум для каждой строки таблицы стратегии скидок).
7. Возможность для накопительных скидок указывать фильтры клиентов, периоды действия, статусы заказов, учитываемую сумму (итоговая (total), промежуточная сумма (sub_total), без учета доставки (shipping)), количество дней и фильтры товаров, к которым будет применяться скидка. Скидки применяются только для зарегистрированных клиентов.
8. Возможность для скидок текущих заказов указывать разные варианты подсчёта сумм и количества товаров в корзине. Так же можно задавать фильтры по клиентам и учитываемым товарам (подробнее ниже в описании). Текущий заказ можно применять как для зарегистрированных клиентов, так и для всех.
9. Поддерживается фильтрация по группам и пользователям в текущем заказе и накопительной скидке (в случае текущего заказа игнорируется для случая, когда выбрано для всех пользователей), а так же товаров, к которым будет применена скидка (подробнее ниже в описании).
10. Три варианта подсчёта процента: в порядке следования сортировки модулей Учёта заказа (сумма ДО модуля IMDiscount), от суммы товаров без скидок и по всем товарам. В текущем заказе так же есть возможность задавать скидку каждый N-товар (подробнее ниже в описании).
11. Практически всё сделано с использованием ajax. В теории, модуль после установки можно вообще не перезагружать.
12. Только стандартный функционал OpenCart. Ничего не перезаписывается в ядре. Это позволяет не зависеть и не конфликтовать с другими модулями и шаблонами, что в OpenCart порой вызывает ещё «те красочные воспоминания».
13. Название скидки в строчке с Итого находится в локализационном файле внутри папки catalog, так что если у вас несколько языков, то их поддержка дело пяти минут.
14. Можно отключать применение скидок, если используется купон (глобально - смотрите подробности)
15. Можно настраивать округление для результирующей скидки (расчёт стратегий). Так же округление можно задавать для массовой генерации стандартных скидок и акций OpenCart.
16. И другие приятные вещи.
Порядок создания стратегий
В общем и целом, порядок создания стратегий похож на обычное представление OpenCart, но с учётом того, что в модуле практически всё сделано с использование ajax (без необходимости перегружать страницу).
1. Открываете вкладку «Все стратегии» и создаете стратегию нужного типа и названия (с прочими полями).
2. Находите в списке нужную стратегию и нажимаете на кнопку слева (редактировать). Или же открываете вкладку с соответствующим типом стратегий, находите нужную в верхнем выпадающем списке, после чего нажимаете рядом кнопку «Загрузить».
3. Заполняете дополнительные параметры подсчёта и учёта, а так же таблицу скидок, и нажимаете кнопку «Сохранить».
ВАЖНО! - Все корректировки применяются сразу!
С версии 1.4.0 можно создавать стратегии или их копии в соответствующих вкладках, без обязательного создания через вкладку «Все стратегии». Для этого нужно нажимать кнопку «Добавить» вместо «Сохранить».
Как осуществляется подсчет
Подсчёт осуществляется в два этапа, что позволяет строить весьма гибкие стратегии скидок (пример расчёта чуть ниже).
Первый этап. Вначале загружаются все действующие стратегии скидок (критерий - включены и подходят по дате, а так же специфические параметры в ходе расчётов). Смотрится таблица скидок каждой стратегии. И для каждой строчки вычисляется процент и фиксированная сумма. Из этих двух чисел выбирается максимальное.
Затем внутри каждой стратегии определено каким образом выбирать «Тип формирования процента» (большее значение, меньшее или суммарное по всем значениям таблицы скидок с первого этапа). Соответственно, из ранее вычисленных скидок в таблице формируется результирующая скидка стратегии (в соответствии с выбранной настройкой).
Второй этап. Когда получены все скидки по действующим стратегиям, смотрится глобальный параметр в настройках - «Тип аккумуляции (Глобально)». И, соответственно, вычисляется итоговая скидка (большее, меньшее или сумма скидок).
ВАЖНО! Скидка не может быть больше, чем значение ДО применения модуля IMDiscount. Сделано для того, чтобы не возникало заказов с отрицательной стоимостью.
Пример расчета
Допустим, вам нужно учитывать два варианта скидок. Первый, те скидки, что формируются по накопленным заказам и применяются для суммы всех товаров заказа (за каждые 1000 рублей 1%, до 10%). Второй, дополнительная скидка в рамках текущего заказа только для товаров без акций и скидок (с каждой 1000 так же по 1%, до 10%). При этом нужно, чтобы скидки суммировались.
Соответственно, в модуле выставляются следующие настройки. Тип аккумуляции (Глобально) - суммирование. Чтобы скидки стратегий суммировались. Создаются и заполняются две стратегии - одна в «Накопительная скидка», вторая в «Текущий заказ». Для каждой стратегии так же заполняется таблица скидок с указанием процента и фиксированной суммы (в примере последнее равно 0, так как задача этого не требует).
Покупатель совершает заказ на 3456 рублей, из которых 1000 рублей это товары со скидкой. Так же покупатель уже совершил несколько заказов на общую сумму 7000 рублей.
Происходит следующий расчёт:
Первый этап. Так как применяются только проценты, то всегда будет выбираться процент для каждой строки таблицы стратегии скидок.
Исходя из данных, в таблице первой стратегии подходят все пункты от 1% до 7%. Выбирается максимум т.е. 7%. Во второй стратегии скидок учитываются только обычные товары (2456 руб), т.е. подходят только скидки из таблицы 1% и 2%. Соответственно, выбирается максимум 2%.
Второй этап. Смотрится глобальный параметр, а там суммирование. Получается 7% от 3456 + 2 % от 2456 = 241,92 + 49,12 = 291,04.
Как видите, сложная схема расчетов легко реализуется модулем.
Как формируется процент
Существует три типа сумм, в общем случае (для N-товар см. ниже):
1. Промежуточная сумма с учетом порядка применения модуля. Таким образом, если в процент нужно включать доставку, бонусы и прочее, то стоит использовать этот тип скидки и указывать нужный порядок следования модуля (после доставки, бонусов и прочего).
2. Процент от суммы товаров без скидок. Если у вас существуют специальные предложения (стандартные скидки) или же действующие акции для товара, то этот вариант позволяет не учитывать такие товары при расчёте скидки.
3. Процент от суммы всех товаров. Если вам нужно учитывать только весь товар, без методов доставки и прочего.
Соответственно, в зависимости от выбранного варианта, вычисляется процент.
Текущий заказ — расчет процента — Каждый N-товар (скидка от самых дорогих или от самых дешевых)
Если вам необходимо организовать скидки для каждого N-товара в сортировке от самых дорогих к более дешёвым или наоборот от самых дешёвых, то это возможно сделать.
Например, для каждой второй пары перчаток предоставлять скидку в 50% в порядке от дорогих к дешёвым. В таком случае, если клиент добавил в корзину 20 простых перчаток и 8 перчаток с каким-нибудь дорогим узором (т.е. скидка для 14 товаров = 28 / 2), то скидка будет вычисляться следующим образом: 0,5 * стоимость 8 дорогих перчаток с узором + 0,5 * стоимость 6 простых перчаток (так как перчаток с узором всего 8).
В рамках данного расчёта, так же учитывается тип подсчёта количества товаров, чтобы можно было исключить товары, у которых уже существуют скидки (от количества; акции). Плюс сохраняется весь алгоритм расчёта по таблице скидок и прочих механизмов.
Фильтрация товаров (включение, исключение) в стратегии скидок Текущий заказ
Как происходит фильтрация. Первым делом проверяются фильтры включения, потом фильтры исключения. Приоритет за фильтрами исключения. Т.е. если товар подходит по фильтрам включения и фильтрам исключения, то такой товар не учитывается, так как он также в группе исключений. Скажем, товар X в двух категориях А и Б. Во включениях указали категорию А, в исключениях категорию Б. Товар подходит по фильтрам включений, так как он в категории А, но исключается, так как в фильтрах исключениях указана категория Б.
Фильтрация включения осуществляется по следующему правилу (тот же подход и при исключении). Товар подходит в тех случаях:
1. Если товар есть в указанных категориях И указанных производителях И в диапазоне цен
2. ИЛИ - Если товар указан отдельно
Если для какого-то из пунктов не указаны настройки (например, не заданы продукты), то критерием отбора становится только один пункт (в котором заданы настройки). Если же настроек вообще не задано, то фильтрация не осуществляется - иными словами, считается, что все товары подходят (в случае исключения при пустом фильтре, фильтрация не применяется).
Для цен. Если значение фильтра стоимости равно или меньше нуля, то считается, что ограничений по данному фильтру цены нет. Например, стоимость ОТ равная 10 и стоимость ДО равная 0 означает, что стоимость товара должна быть больше или равна 10. Учтите, что цены задаются в базовой валюте.
Эффективная цена означает, что для проверки используется та цена, которая отображается в корзине. Например, если товар с ценой 100 после стандартных скидок и применения опций стал стоить 120, то при фильтрации будет использовано значение 120.
Стоит учитывать, что фильтрация применяется для всех настроек, которые зависят от продуктов. Это означает, что при подсчете сумм и количества (как для оценки в таблице строк, так и для формирования процента) единственным, что не пересчитывается, является опция «Полученная сумма до применения IMDiscount».
Например, в корзине было два товара А за 500 и Б за 200. После фильтра остался только товар Б за 200. В настройках выставлено, что процент применяется ко всем товарам. Это означает, что при подсчете сумм из таблицы скидок, будет учитываться только товар Б. Допустим, если в таблице скидок задано 10%, то будет не (500 + 200) * 0,1 = 70, а (200 * 0,1) = 20.
Фильтры товаров (включение, исключение) в стратегии Накопительная скидка
ВАЖНО! Фильтры применяются не к заказам, там общий подсчёт сумм, а к конкретным товарам, которые расположены в корзине. Скажем, если вы исключили какой-то товар в фильтрах, то, при подсчёте сумм уже совершённых заказов, данный товар не будет вычитаться из общей суммы заказов. Но и процент скидки не будет применяться к данному товару (если скидка применяется к товарам, а не к сумме до модуля).
К примеру, исключили товар Х и скидка применяется к товарам. При подсчёте совершённых заказов не будет осуществляться никакой фильтрации. А вот в корзине товар Х будет фильтроваться (к нему не будет применяться скидка).
В остальном логика схожа с тем, как происходит расчёт в стратегии Текущий заказ.
Как происходит фильтрация. Первым делом проверяются фильтры включения, потом фильтры исключения. Приоритет за фильтрами исключения. Т.е. если товар подходит по фильтрам включения и фильтрам исключения, то такой товар не учитывается, так как он также в группе исключений. Скажем, товар X в двух категориях А и Б. Во включениях указали категорию А, в исключениях категорию Б. Товар подходит по фильтрам включений, так как он в категории А, но исключается, так как в фильтрах исключениях указана категория Б.
Фильтрация включения осуществляется по следующему правилу (тот же подход и при исключении). Товар подходит в тех случаях:
1. Если товар есть в указанных категориях И указанных производителях И в диапазоне цен
2. ИЛИ - Если товар указан отдельно
Если для какого-то из пунктов не указаны настройки (например, не заданы продукты), то критерием отбора становится только один пункт (в котором заданы настройки). Если же настроек вообще не задано, то фильтрация не осуществляется - иными словами, считается, что все товары подходят (в случае исключения при пустом фильтре, фильтрация не применяется).
Для цен. Если значение фильтра стоимости равно или меньше нуля, то считается, что ограничений по данному фильтру цены нет. Например, стоимость ОТ равная 10 и стоимость ДО равная 0 означает, что стоимость товара должна быть больше или равна 10. Учтите, что цены задаются в базовой валюте.
Эффективная цена означает, что для проверки используется та цена, которая отображается в корзине. Например, если товар с ценой 100 после стандартных скидок и применения опций стал стоить 120, то при фильтрации будет использовано значение 120.
Стоит учитывать, что фильтрация применяется для всех настроек, которые зависят от продуктов. Это означает, что при подсчете сумм и количества (как для оценки в таблице строк, так и для формирования процента) единственным, что не пересчитывается, является опция «Полученная сумма до применения IMDiscount».
Например, в корзине было два товара А за 500 и Б за 200. После фильтра остался только товар Б за 200. В настройках выставлено, что процент применяется ко всем товарам. Это означает, что при подсчете сумм из таблицы скидок, будет учитываться только товар Б. Допустим, если в таблице скидок задано 10%, то будет не (500 + 200) * 0,1 = 70, а (200 * 0,1) = 20.
Модули для отображения скидок (стратегий)
Модуль может отображаться в двух вариантах:
1. Полный - отображаются все параметры
2. Короткий - в данном случае не отображаются подробности скидок, а также учитываемые суммы и количества
В модулях много разных параметров для настройки того, как и чего модуль должен отображать (Тексты ДО и ПОСЛЕ, сами скидки, отображение учитываемых сумм и количества, и прочее).
Также учитываются настройки отображения в пользовательской части, которые вы задали в самих стратегиях Накопительная скидка и Текущий заказ. К примеру, скидка может не отображаться (так как отключили отображение), но при этом применяться.
Если скидка не проходит проверку принадлежности к текущему пользователю (то, что такая скидка вообще может для него применяться), то скидка не отображается, вне зависимости от настроек. Это позволяет пользователям видеть только те скидки, которые потенциально могут относиться к ним. К примеру, пользователи розницы не увидят скидки группы опта (про соответствующих фильтрах пользователей).
Существует возможность включить автоматическое отслеживание корзины (с определёнными ограничениями). В большинстве шаблонов автоматическое отслеживание изменений корзины будет корректно выполняться. Технически это отслеживание текста внутри "#cart-total" с определённой периодичностью.
Также вы можете прямо в модуле добавить свои CSS и JS.
Массовая генерация стандартных скидок и акций OpenCart для товаров
Модуль поддерживает возможность массовой генерации стандартных скидок и акций для OpenCart - это вкладки «Скидки (опенкарт)» и «Акции (опенкарт)».
Обратите внимание, что массовая генерация это не стратегии, поэтому они создаются прямо во вкладке и не отображаются в общем списке (как и в модулях отображения IMDiscount и т.д.).
Фильтрация осуществляется по следующему правилу. Товар подходит в тех случаях:
1. Если товар есть в указанных категориях И указанных производителях И в диапазоне цен И с соответствующим статусом
2. ИЛИ - Если товар указан отдельно
Учтите, что если требуется генерация ТОЛЬКО для отдельных товаров, то необходимо убедиться, что фильтры для первого пункта пусты (не выставлены цены в фильтрах, не заданы производители и категории, а так же не задан статус).
Для цен. Если значение фильтра стоимости равно или меньше нуля, то считается, что ограничений по данному фильтру цены нет. Например, стоимость ОТ равная 10 и стоимость ДО равная 0 означает, что стоимость товара должна быть больше или равна 10. Учтите, что цены задаются в базовой валюте.
ВАЖНО! Учтите, что если вообще все фильтры будут пустыми, то генерация и очистка будут применяться ко всем товарам (по сути, отсутствие фильтров = не проверять товары)!
Иными словами, если не указали фильтры, то при очистке по кнопке (или как части генерации) будут удалены стандартные скидки или акции для всех товаров (в зависимости от того, для чего используется массовая генерация)! Аналогично, при генерации скидки или акции из таблицы (в зависимости от того, для чего используется массовая генерация) будут добавлены для всех товаров.
Массовая генерация стандартных скидок и акций - как происходит расчёт цен для типов и модификаторов
Первый этап. Существует два типа представления числа: фиксированное число (отображается как «.») и процент (отображается как «%»).
На основании этих данных формируется [значение для корректировки]. В случае фиксированного числа - это просто число, а в случае процента - это цена, умноженная на процент и деленная на 100.
Например, число 50 для «.» это будет 50. А в случае «%» это будет [price] * 50 / 100.
Второй этап. Существует 5 арифметических модификаторов: равно («=»), вычесть («-»), прибавить («+»), умножить («*»), разделить («/»). Тут как в арифметике.
Модификатор «=». Формула [next_price] = [значение для корректировки]
Модификатор «-». Формула [next_price] = [price] - [значение для корректировки]
Модификатор «+». Формула [next_price] = [price] + [значение для корректировки]
Модификатор «*». Формула [next_price] = [price] * [значение для корректировки]
Модификатор «/». Формула [next_price] = [price] / [значение для корректировки]
ВАЖНО! Аккуратно заполняйте типы и модификаторы. Суть в примере. Скажем, умножить на 50% это значит, что [next_price] = [price] * [значение для корректировки] = [price] * ( [price] * 50 / 100 ). Иными словами, половина от цены в квадрате!
Так же этот момент касается отрицательных цен. Подобное стандартный механизм опенкарта считает вполне корректным во многих версиях (как минимум, в 2.x, 3.0). Для понимания: вы можете установить как цену товара, так и скидок с акциями отрицательными, и они будут использоваться при расчете, включая корзину и оформление заказа.
Поэтому в модуле не производится дополнительных проверок для цен, в плане отрицательного значения. Мало ли вы, как клиент, используете данную особенность. Поэтому будьте внимательны и аккуратны!
Логирование
Логирование включается во вкладке «Настройки». Файл лога располагаются в каталоге «storage/logs» (DIR_LOGS).
Несколько существенных моментов:
1. ВАЖНО!!! Лог формирует достаточно много данных (один клиент за минуту легко формирует 1МБ и более). Поэтому не стоит постоянно держать его включенным. Лучше подходить к логу следующим образом: включили лог, выполнили нужные действия и тут же отключили лог.
2. Учтите, что во время формирования лога в файле сохраняется масса «деликатной» информации. Поэтому после того, как вы скачаете лог, файл внутри каталога стоит удалить.
Обратите внимание, что лог содержит массу технической информации и предназначен для сложных ситуаций, при которых вы не можете самостоятельно найти ошибку в настройках.
Тем не менее, даже обычные пользователи могут воспользоваться им. В файле лога необходимо искать фразу «After calculateDiscounts». Чуть выше её отображается идентификаторы пользователя и его группы, а так же ФИО. Чуть ниже её отображается сводная информация по вычисленным скидкам действующих стратегий для текущей корзины (до применения глобальной настройки подсчёта скидки).
Не применять скидки в случае наличия купона
В настройках модуля можно отключать применение скидок IMDiscount (стратегий) для случая, когда указан купон. Однако для этого модуль купона должен применяться ДО применения модуля IMDiscount. Другими словами, порядок сортировки модуля IMDiscount должен быть больше сортировки модуля купона.
Настройка действует глобально, то есть для всех скидок сразу.
Особенности и ограничения
1. Накопительные скидки применяются только для зарегистрированных пользователей. Для текущего заказа можно указывать видимость.
2. Подсчёт суммы предыдущих заказов в накопительной стратегии осуществляется в зависимости от настроек: от итоговой суммы (total), промежуточной сумма (sub_total) или без учета доставки (shipping).
3. Если статусы заказа не указаны, то суммируются все заказы.
4. Фильтр по группам и клиентам осуществляется по правилу ИЛИ. То есть или в списке групп или в списке пользователей.
5. (с версии 1.4.0 неактуально, так как перенесено в соответствии со стандартной схемой опенкарт) Для русского языка переводы находятся в system/IMDiscount/Lang
6. По умолчанию, сумма скидки модуля IMDiscount (результирующая) округляется до 2-х знаков (задаётся во вкладке «Настройки»). При отрицательных значениях округляется целая часть числа. Например, при значении (-2) число (127) будет (100), а при значении (-1) число (189) будет (190). Учитывайте, что при округлении до (-3) число (129) будет (0) (так как 1 меньше 5).
7. Принцип действия округления чисел при массовой генерации стандартных скидок и акций аналогичен предыдущему пункту.
8. Приобретаемые подарочные сертификаты не являются полноценными товарами (в рамках OpenCart), поэтому скидка от них возможна только в том случае, если она вычисляется от «Суммы до применения IMDiscount», в которую входит сумма приобретаемых сертифкатов. Например, в стратегии «текущий заказ» скидка для «Процент от товаров без скидки» (или всех товаров) будет вычисляться только для товаров, но не сертификатов.
9. При расчёте накопительной скидки приобретенные подарочные сертификаты учитываются во всех трёх вариантах: итоговая сумма - это сумма заказа (total), сумма товаров / промежуточный итог - это товары с купленными сертификатами (sub_total), без доставки - это сумма заказа (total) за вычетом цены доставки (shipping). Во всех вариантах эти суммы включают стоимость сертификатов.
10. Учитывайте, что если по каким-то причинам сумма доставки указывается с отличным кодом от «shipping», то такая доставка не учитывается в накопительных скидках.
11. По умолчанию, в списках с ajax подгрузкой клиентов отображается 10 клиентов, а время задержки между запросами 500 мс.
12. Учтите, что все цены задаются и учитываются в базовой валюте.
13. Требуется, чтобы в настройках сайта было выставлено mbstring.func_overload 0. Если вы не знаете как это сделать , то уточните в вашем хостинге. В большинстве случаев по умолчанию это значение 0 (вам, как клиенту, ничего не нужно делать), но в некоторых хостингах выставляют значение 2. Это актуально в тех случаях, если у вас возникли проблемы с ключами и активацией модуля.
14. Требуется jQuery и bootstrap.
Установка и следующие версии
1. Сделайте резервную копию сайта (бэкап) - стандартный подход (полезен перед любыми действиями с сайтом).
2. Если это следующая версия, то первым делом отключите предыдущую версию модуля IMDiscount в «Учитывать в заказе».
3. Распакуйте архив. Скопируйте в корень сайта каталоги «admin», «catalog», «system». Не волнуйтесь, никакие файлы не будут заменены, кроме случев, когда вы устанавливаете следующую версию и когда у вас уже стоят мои модули (у них есть общие файлы, которые не меняются).
4. Откройте админку и активируйте модуль скидок IMDiscount в «Учитывать в заказах». Если же это следующая версия, то отключите, а затем включите модуль.
5. Откройте админку и активируйте модуль для вывода скидок IMDiscount в «Модули / Расширения» (бывают разные названия, зависит от перевода).
6. Откройте модуль IMDiscount в админке в «Учитывать в заказах» (редактирование) и для активации скидок во вкладке «Настройки» укажите статус «Включено», а так же порядок следования (подобно тому, как и в других модулях учета в заказе, таких как доставки, оплаты и т.д.). Если этого не сделать, то скидки могут не применяться.
7. Установите и настройте модули отображения так, как вам нужно.
ВАЖНО! Если вы не укажите корректный порядок сортировки в модуле IMDiscount, то вычисления могут быть некорректными! Как минимум вычисление скидки должно происходить после подсчёта суммы товаров (sub_total).
Лицензия и использование
Сделано для версий OpenCart 2.3.0.2, ocStore 2.3.0.2, 2.3.0.2.1, 2.3.0.2.3
Лицензия распространяется только для одного сайта (одного интернет-магазина). Т.е. 1 домен + все поддомены = 1 оплата. Лицензия не выписывается для TLD и прочих доменов, которые подразумевают, что пользователи могут создавать поддомены. Например, нельзя в качестве домена указать RU или COM.RU.
Лицензия для тестового домена выписывается только в том случае, когда видно, что данный тестовый домен не может быть использован для реального сайта (интернет-магазина).
Купив модуль, вы автоматически соглашаетесь с текстом лицензии.
Модуль имеет принцип распространения "as is" ("Как есть").
Ввод лицензионного ключа необходимо осуществить в течение 5 дней после установки модуля. Лицензионный ключ состоит из двух частей.
Ключи необходимо вводить так, как они были присланы, без лишних пробелов и символов.
Запрещается несанкционированное использование, копирование, перепродажа, передача модуля третьим лицам, а также иные способы распространения, в том числе в ознакомительных целях.
Если у вас русский домен, то необходимо указывать то имя, которое указано в config.php в корне сайта.
Вы учитывайте, что демка-то одна для всех. Почистил скидки и акции прям из модуля. Теперь корректно отображаются цены.
Вам нужны стратегии "Текущий заказ". В них можно задавать фильтры пользователей и групп пользователей. Если нужно для всех зарегистрированных, то существует там же фильтр "Для всех пользователей?" его нужнео установить в "Отключено".
Можно ли, при помощи этого модуля, сделать скидку на первый заказ зарегистрированного пользователя?
В текущей версии, нет. Может со временем появится. конечно, существуют альтернативные варианты. Например, если после первого заказа клиентов переводить из дефолтной группы, а в стратегии текущего заказе фильтровать по группе. Но, сами понимаете, что это несколько неудобно.
Модуль использует только стандартные механизмы опенкарт. Поэтому, в принципе, проблем не должно возникнуть.
Написал в ЛС, нужны детали, а описание очень расплывчатое.
Оптовики:
Цена от 1 до 100 у.е скидка 10 процентов
цена от 100 до 600 у.е скидка 2 проценка и т.д
Розница:
Цена от 1 до 100 у.е скидка 2 процентов
цена от 100 до 600 у.е скидка 1 проценка и т.д
даные скидки должны действовать для всех видов товара
заранее благодарю за ответ.
Если речь о текущем заказе, то вы можете это реализовать с помощью фильтра эффективной цены, создав несколько стратегий (см. и тестируйте в демо). Единственно, почитайте в описании как определяется эффективная цена.
Можно ли настроить так, чтобы скидки НЕ применялись к акционным товарам.
В накопительной скидке и текущем заказе в области "Как формируем скидку и процент?" нужно выбрать"Тип подсчета процента" в "Процент от товаров без скидки". Еще по поводу текущего заказа - там можно фильтровать в области "Что считаем и учитываем?". Пощелкайте фильтры увидите. Плюс в демо можете, например, использовать массовую генерацию для удаления стандартных скидок и акций, а затем добавлять их и смотреть как будут меняться цифры в корзине.