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

Не работает скидка, если активна акция


Ilfat85

Recommended Posts

Здравствуйте! Подскажите пожалуйста, почему если на товар установлена акция, цена со скидкой не учитывается. Хотелось бы сделать следующим образом: если цена на товар со скидкой ниже, чем цена по акции, учитывалась именно цена со скидкой. Спасибо.

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


Нашел одно решение в интернете:

Для того чтобы скидка и акция работали совместно, в system/library/cart.php необходимо заменить

 

// Product Specials
if ($product_special_query->num_rows) {
$price = $product_special_query->row['price'];
}

 

на

 

// Product Specials
$product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");

if ($product_special_query->num_rows) {
if($product_discount_query->num_rows&&$product_discount_query->row['price']<=$product_special_query->row['price']){
$price = $product_discount_query->row['price'];
}else{
$price = $product_special_query->row['price'];
}
}

 

Правильно ли это? Может просто где-то в настройках нужно что-то поменять?

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


  • 10 months later...

Подошло вам решение данной проблемы? обратил внимание на это, так же не считает если включена акция.

стоит OpenCart  2.3.0.2

UPD:

хмм, кажется работает,  сделал изменения по аналогии в этом файле(у меня начиная со 186 строки).

...

                if ($product_special_query->num_rows) {
                    //$price = $product_special_query->row['price']; -была эта строка, ее закомментировал, можно удалить
                    if($product_discount_query->num_rows&&$product_discount_query->row['price']<=$product_special_query->row['price']){
                        $price = $product_discount_query->row['price'];
                    }
                    else{
                        $price = $product_special_query->row['price'];
                    }                
                }

...

смысл условия в том, как я понял, что если используется скидка и проставлено количество товара для скидки и это все дело меньше цены акции то для расчета общей цены берется скидочная цена, если же акция будет меньше цены скидки, тогда будет брать для расчета цену акции не зависимо от товара, в целом логично.

Змінено користувачем VpsK
  • +1 1
Надіслати
Поділитися на інших сайтах


@VpsK можно и по шикарнее сделать
Скоро вот эт будет глобальной настройкой

УСЛОВИЯ
Условия разграничения скидок от кол-ва товара и акции товара у выбранных товаров для пользовательской скидки!
Если у товара есть скидка от кол-ва или акция то скидка модуля применяется к их цене в соответствии с выбранными функциями в выпадающих настройках скидок и акций, расположенных справа и с лева соответственно.
  • По умолчанию: работа скидок и акций ни как не разграничена (Акция приоритетнее скидки от кол-ва товара).
  • Приоритет: применяется наиболее выгодный вариант для пользователя или скидка от кол-ва товара или акция товара.

 

 

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


  • 3 years later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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