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

[Решено] Не работают одноврмено скидка и акции в одном товаре


Recommended Posts

Добрый вечер коллеги, вопрос такой может кто сталкивался, не работают скидки и акции одновременно в одном товаре  скрин прилагается, на нем мы видим акцию перечеркнутую цену и 2 вида скидок от количества товара, при выборе товара на любую из скидок, он не учитывает их, а учитывает только акционую цену. если убрать акцию с товара то все работает прекрасно. версия 1.5.5.1  проверял на чистой, результат тот же.

post-668379-0-52845700-1393287724_thumb.png

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


У меня также, думал вообще не работает, как прочел пост, тоже отключил акцию и от кол-ва скидка заработала, как теперь с простой акцией сделать кто знает?

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


  • 2 weeks later...
  • 4 months later...

а что необходимо? Что бы при акции и дисконте, учитывал только дисконт??

Или делал еще скидку на цену дисконта??

 

т.е Товар по цене 100, скидка по акции 90.

При покупке от 10 стоимость 80.

 

Какая должна быть сумма при покупке 10?

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

80

а что необходимо? Что бы при акции и дисконте, учитывал только дисконт??

да.

Потому что акция идет как правило на розничную цену товара, а скидка она идет от количества, то есть скидка это оптовая цена и акция на неё не распостраняется!

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


открываем файл

\system\library\cart.php

 

находим там

				// 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) {
					$price = $product_special_query->row['price'];
				}

и ставим его перед     // Product Discounts

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

  • 1 month later...
  • 4 months later...

открываем файл

\system\library\cart.php

 

находим там

				// 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) {
					$price = $product_special_query->row['price'];
				}

и ставим его перед     // Product Discounts

 

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

system\library\cart.php

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


  • 3 years later...

Приветствую всех!

Сегодня озаботился подобной проблемой, есть товар, старая цена 250р. за единицу, новая цена установленная по акции 210 руб.

плюс к этому добавил в этом же товаре скидку от количества 10шт по 200 руб за единицу,

Скидка и акция указаны для одинаковой группы покупателей Default.

 

Модификацию файла cart.php как описано выше произвел, поставил код //Product specials выше кода //Product discounts

 

Изменений никаких, подскажите пожалуйста в чем может быть причина отсутствия изменений.

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


  • 3 weeks later...
В 10.04.2018 в 15:24, kicx сказал:

Приветствую всех!

Сегодня озаботился подобной проблемой, есть товар, старая цена 250р. за единицу, новая цена установленная по акции 210 руб.

плюс к этому добавил в этом же товаре скидку от количества 10шт по 200 руб за единицу,

Скидка и акция указаны для одинаковой группы покупателей Default.

 

Модификацию файла cart.php как описано выше произвел, поставил код //Product specials выше кода //Product discounts

 

Изменений никаких, подскажите пожалуйста в чем может быть причина отсутствия изменений.

Нужно по приоритету идти
т.е. или то или это - что выгоднее
чтоб одно другое не перебивало
если у товара основная цена 1000р
а цены по группам 900 800 и т.д. (это скидка на кол-во 1шт)
то скидка у групп на кол-во 2 и более может быть меньше чем акционная цена т.к. и она подвязывается к группам.
т.е. основная цена при таком подходе остаётся как РРЦ
групповые цены - разные для каждой из групп
соответственно акции к этим группам предполагают быть ниже
но при скидке от кол-во 2 и более она может быть ниже
вот выводить то что выгоднее наиболее правильный подход при условии что логика построения цен именно такая как я описал выше

 

Функция - скидки от кол-ва товара

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

 

 

Условия разграничения скидок от кол-ва товара и акции товара

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

 

 

Функция - акций товара

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

 


тут реализовано

 

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


  • 2 years later...

Добавлю решение для опенкарт 2.3

Находим в файле /system/library/cart/cart.php

// Product Specials
				$product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_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) {
					$price = $product_special_query->row['price'];
				}

и вставляем его выше перед

// Product Discounts

 

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

  • 3 weeks later...

Добрый день! для 3.0.2.0 подходит и решает проблему, но только в корзине норм пересчитывает, а на странице товара так не работает, в приоритете акция, а не скидка. кто поможет с решением? 

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


  • 5 months later...
В 07.02.2021 в 01:41, mister12 сказал:

Добавлю решение для опенкарт 2.3

Находим в файле /system/library/cart/cart.php



// Product Specials
				$product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_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) {
					$price = $product_special_query->row['price'];
				}

и вставляем его выше перед



// Product Discounts

 

 

Привет, работает

 

А кто  то знает как это модификатором сделать? Что бы файл не менять

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

1 час назад, oleksij сказал:

 

Привет, работает

 

А кто  то знает как это модификатором сделать? Что бы файл не менять

ну как то так, если кому надо

Вообще при таком переносе строк, надо учитывать другие моды

uchityvat-odnovrmeno-skidki-i-akcii-ocstore-2.3.ocmod.xml

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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