Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Знижки на категорію


Recommended Posts

Може хто підскаже. Вхідні данні:

  1. Опенкарт версії 1.5
  2. Категорії мають вигляд: Будинок - Кімнати - Кухня - Вікно. (в бд айди категорий 0 - 10 -100 -1000)
  3. Стоїть модуль фільтрпро

 

В налаштуваннях власного модуля вказано, що для всіх товарів категорії Вікно (1000), необхідно давати знижку 25%

В модулі фільтпро, якщо користуч буде на сторінці категорії Вікно, то знижка застосується для кожного товару і все пройде класно

$parts = explode('_', (string)$this->request->get['path']);

// print_R $parts - array(0=> 10, 1=>100, 2=>1000)

foreach ($parts as $key=> $val){
	if($val == 1000){
    	$discount = 25;
    }
}

Але, якщо, користувач буде в категорії  Кухня, в яку також потрапляють товари з підкатегорії Вікно, то знижка для таких товарів не спрацьовує.

Причиною є те, що // print_R $parts тепер поверне менший массив array(0=> 10, 1=>100)

 

Єдиний вихід з цього бачу  лише те, що потрібно писати додатковий запрос і по кожному товару витягувати з таблиці product_to_category id категорії.

Але це ж ми на рівному місці грузимо бд тупими запросами. Якщо в категорії виводимо 50 товарів, то +50 запросів в бд від 1 користувача.

 

Може хтось підскаже більш гарне рішення?

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.