| Характеристики доповнення | |
| OpenCart | 3.0 |
| XML модифікатор | так |
| Локалізація | українська, російська, англійська |
| Статистика | 2 3310 48 |
| Опубліковано | 28.02.2025 |
| Оновлено | 28.02.2025 · 1 р. тому |
| Файли | im-discount_oc3x.ocmod.zip |
Модуль IMDiscount (OC 3) Стратегія знижок – це потужний інструмент для організації гнучкої системи знижок OpenCart. Він дозволяє створювати накопичувальні знижки та знижки на поточне замовлення, а також підтримує масову генерацію стандартних знижок та акцій. Цей модуль підійде інтернет-магазинам, які хочуть стимулювати повторні покупки та гнучко керувати цінами.
Загалом, порядок створення стратегій схожий на звичайне уявлення OpenCart, але з урахуванням того, що в модулі практично все зроблено з використання ajax (без необхідності перевантажувати сторінку).
ВАЖЛИВО! - Усі коригування застосовуються відразу!
З версії 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-товар див. нижче):
Відповідно, залежно від вибраного варіанта, обчислюється відсоток.
Якщо вам необхідно організувати знижки для кожного N-товару у сортуванні від найдорожчих до дешевших або навпаки від найдешевших, то це можливо зробити.
Наприклад, для кожної другої пари рукавичок надавати знижку 50% у порядку від дорогих до дешевих. У такому випадку, якщо клієнт додав до кошика 20 простих рукавичок і 8 рукавичок з яким-небудь дорогим візерунком (тобто знижка для 14 товарів = 28/2), то знижка буде обчислюватися наступним чином: 0,5* вартість 8 дорогих рукавичок з візерунком + 0,5*.
У межах цього розрахунку, також враховується тип підрахунку кількості товарів, щоб можна було виключити товари, які вже існують знижки (від кількості; акції). Плюс зберігається весь алгоритм розрахунку таблиці знижок та інших механізмів.
Якщо для якогось із пунктів не вказано налаштування (наприклад, не задані продукти), то критерієм відбору стає лише один пункт (у якому задані налаштування). Якщо ж налаштувань взагалі не задано, то фільтрація не здійснюється - інакше кажучи, вважається, що всі товари підходять (у разі виключення при порожньому фільтрі, фільтрація не застосовується).
цін. Якщо значення фільтра вартості дорівнює або менше нуля, то вважається, що обмежень щодо цього фільтра ціни немає. Наприклад, вартість ВІД дорівнює 10 і вартість ДО дорівнює 0 означає, що вартість товару повинна бути більшою або дорівнює 10. Врахуйте, що ціни задаються в базовій валюті.
Ефективна ціна означає, що для перевірки використовується ціна, яка відображається в кошику. Наприклад, якщо товар із ціною 100 після стандартних знижок та застосування опцій став коштувати 120, то при фільтрації буде використано значення 120.
Варто враховувати, що фільтрація застосовується для всіх опцій, які залежать від продуктів. Це означає, що при підрахунку сум та кількості (як для оцінки у таблиці рядків, так і для формування відсотка) єдиним, що не перераховується, є опція «Отримана сума до застосування IMDiscount».
Наприклад, у кошику було два товари А за 500 та Б за 200. Після фільтру залишився тільки товар Б за 200. У налаштуваннях виставлено, що відсоток застосовується до всіх товарів. Це означає, що при підрахунку сум з таблиці знижок буде враховуватися тільки товар Б. Припустимо, якщо в таблиці знижок задано 10%, то не (500 + 200) * 0,1 = 70, а (200 * 0,1) = 20.
Наприклад, виключили товар Х і знижка застосовується до товарів. При підрахунку вчинених замовлень не здійснюватиметься жодна фільтрація. А ось у кошику товар Х фільтруватиметься (до нього не застосовуватиметься знижка).
В іншому логіка схожа на те, як відбувається розрахунок у стратегії Поточне замовлення.
Якщо для якогось із пунктів не вказано налаштування (наприклад, не задані продукти), то критерієм відбору стає лише один пункт (у якому задані налаштування). Якщо ж налаштувань взагалі не задано, то фільтрація не здійснюється - інакше кажучи, вважається, що всі товари підходять (у разі виключення при порожньому фільтрі, фільтрація не застосовується).
цін. Якщо значення фільтра вартості дорівнює або менше нуля, то вважається, що обмежень щодо цього фільтра ціни немає. Наприклад, вартість ВІД дорівнює 10 і вартість ДО дорівнює 0 означає, що вартість товару повинна бути більшою або дорівнює 10. Врахуйте, що ціни задаються в базовій валюті.
Ефективна ціна означає, що для перевірки використовується ціна, яка відображається в кошику. Наприклад, якщо товар із ціною 100 після стандартних знижок та застосування опцій став коштувати 120, то при фільтрації буде використано значення 120.
Варто враховувати, що фільтрація застосовується для всіх опцій, які залежать від продуктів. Це означає, що при підрахунку сум та кількості (як для оцінки у таблиці рядків, так і для формування відсотка) єдиним, що не перераховується, є опція «Отримана сума до застосування IMDiscount».
Наприклад, у кошику було два товари А за 500 та Б за 200. Після фільтру залишився тільки товар Б за 200. У налаштуваннях виставлено, що відсоток застосовується до всіх товарів. Це означає, що при підрахунку сум з таблиці знижок буде враховуватися тільки товар Б. Припустимо, якщо в таблиці знижок задано 10%, то не (500 + 200) * 0,1 = 70, а (200 * 0,1) = 20.
Модуль може відображатися у двох варіантах:
Також враховуються налаштування відображення в частині користувача, які ви задали в самих стратегіях Накопичувальна знижка та Поточне замовлення. Наприклад, знижка може не відображатися (оскільки відключили відображення), але при цьому застосовуватися.
Також ви можете прямо в модулі додати свої CSS та JS.
Зверніть увагу, що масова генерація це не стратегія, тому вони створюються прямо у вкладці і не відображаються в загальному списку (як і в модулях відображення IMDiscount і т.д.).
Врахуйте, що якщо потрібна генерація ТІЛЬКИ для окремих товарів, необхідно переконатися, що фільтри для першого пункту порожні (не виставлені ціни у фільтрах, не задані виробники та категорії, а також не заданий статус).
цін. Якщо значення фільтра вартості дорівнює або менше нуля, то вважається, що обмежень щодо цього фільтра ціни немає. Наприклад, вартість ВІД дорівнює 10 і вартість ДО дорівнює 0 означає, що вартість товару повинна бути більшою або дорівнює 10. Врахуйте, що ціни задаються в базовій валюті.
Іншими словами, якщо не вказали фільтри, то при очищенні за кнопкою (або як частини генерації) буде видалено стандартні знижки або акції для всіх товарів (залежно від того, для чого використовується масова генерація)! Аналогічно, при генерації знижки або акції з таблиці (залежно від того, для чого використовується масова генерація) буде додано для всіх товарів.
З цих даних формується [значення коригування]. У разі фіксованого числа – це просто число, а у разі відсотка – це ціна, помножена на відсоток та поділена на 100.
Наприклад, число 50 для "." це буде 50. А у разі «%» це буде [price]*50/100.
Модифікатор "=". Формула [next_price] = [значення для коригування]
Модифікатор "-". Формула [next_price] = [price] - [значення для коригування]
Модифікатор "+". Формула [next_price] = [price] + [значення для коригування]
Модифікатор "*". Формула [next_price] = [price] * [значення для коригування]
Модифікатор "/". Формула [next_price] = [price] / [значення для коригування]
Також цей момент стосується негативних цін. Подібне стандартний механізм опенкарт вважає цілком коректним у багатьох версіях (як мінімум, в 2.x, 3.0). Для розуміння: ви можете встановити як ціну товару, так і знижки з негативними акціями, і вони будуть використовуватися при розрахунку, включаючи кошик та оформлення замовлення.
Тому в модулі немає додаткових перевірок для цін, у плані негативного значення. Чи мало ви, як клієнт, використовуєте цю особливість. Тому будьте уважні та обережні!
Логування включається у вкладці «Параметри». Файл лога розміщується в каталозі «storage/logs» (DIR_LOGS).
Проте навіть звичайні користувачі можуть скористатися ним. У файлі лога необхідно шукати фразу "After calculateDiscounts". Трохи вище її відображається ідентифікатори користувача та його групи, а також ПІБ. Трохи нижче її відображається зведена інформація про обчислені знижки діючих стратегій для поточного кошика (до глобального налаштування підрахунку знижки).
У налаштуваннях модуля можна відключати застосування знижок IMDiscount (стратегій) для випадку, коли вказано купон. Однак для цього модуль купона повинен застосовуватись до застосування модуля IMDiscount. Іншими словами, порядок сортування модуля IMDiscount повинен бути більшим за сортування модуля купона.
Налаштування діє глобально, тобто для всіх знижок одразу.
ВАЖЛИВО! Якщо ви не вкажіть коректний порядок сортування в модулі IMDiscount, обчислення можуть бути некоректними! Як мінімум, обчислення знижки має відбуватися після підрахунку суми товарів (sub_total).
| Назва файлу | Додано | Оновлено |
|---|---|---|
im-discount_oc3x.ocmod.zip Розмір: 280.38 KB | 28.02.2025 | 28.02.2025 |
Залиште свій відгук про цей товар