Перейти к содержанию
bmite

[Решено] Включение скидки от суммы заказа

Рекомендуемые сообщения

Нужно, чтобы цена по скидке включалась НЕ от количества товаров в корзине, а от СУММЫ ЗАКАЗА в корзине.

 

Подскажите, как сделать? Я так понимаю тут собака зарыта

			foreach ($discounts as $discount) {
				$data['discounts'][] = array(
					'quantity' => $discount['quantity'],
					'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
				);
			}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

установить модуль нельзя что ли?
потом заказчик установит че нить и у него там фиг пойми что произойдет
или это типа  на цепи удержать клиента?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 minutes ago, AWARO said:

установить модуль нельзя что ли?
потом заказчик установит че нить и у него там фиг пойми что произойдет
или это типа  на цепи удержать клиента?

например какой модуль, я много перерыл и ничего подходящего не нашел.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, bmite сказал:

например какой модуль, я много перерыл и ничего подходящего не нашел.

 

 

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 minute ago, Einshtein said:

 

я видел этот модуль, нужный функционал в нем отсутствует, если я не прав ткните носом.

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

Ну и я ищу не модуль, а решение в виде небольшой правки в исходнике, либо небольшую подсказку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в модуле вроде есть этот  функционал (уточните у Awaro) и еще много всего, модуль позволяет настраивать закономерности и исключения, что важно при скидках и вручную одной строчкой кода вряд ли обойдетесь, хотя я когда-то нечто подобное для 1.5 делал, но в итоге пришлось дописывать код и он разросся так что его можно было в модуль оформлять. Так что проще купить готовое и сэкономить драгоценное время 


Если нужна подсказка, то отталкивайтесь от  cart total
 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, bmite сказал:

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

Ну и я ищу не модуль, а решение в виде небольшой правки в исходнике, либо небольшую подсказку.

я так и знал что люди не читают а смотрят на картинки

вот картинка, подчеркнул нужное
QiJ6C8ykTRGGI-AqUyepOQ.png

 

 

если этот дорого
то вот попроще

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот вам бесплатное решение

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=25007&filter_search=discount order&filter_license=0

Берите его за основу и пилите под свою версию и нужды

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 minutes ago, Djeff78 said:

Вот вам бесплатное решение

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=25007&filter_search=discount order&filter_license=0

Берите его за основу и пилите под свою версию и нужды

спасибо, посмотрю как сделано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, bmite сказал:

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

Кто вам здесь флудит гражданин?
вы спросили вам ответили
 почетче задавайте вопросы тогда и ответы будут точными

Цитата

скидка от суммы заказа в корзине


как мы должны по вашему это понимать то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 minutes ago, AWARO said:

Кто вам здесь флудит гражданин?
вы спросили вам ответили
 почетче задавайте вопросы тогда и ответы будут точными


как мы должны по вашему это понимать то?

В админке, у товаров есть вкладка "Скидки". По умолчанию цена скидки "включается" при достижении определенного количество товара в корзине, мне нужно, чтобы цена по скидке "включалась" при определенной сумме в корзине.

 

Проверил модуль по совету  Djeff78 , к сожалению это не то, что нужно. Этот модуль выдает фиксированную скидку, либо % от суммы заказа, мне же нужно другое.

 

Вопрос остается не решенным ....

 

Касательно флуда, конкретно у вас он начался с самого первого сообщения. Я не просил совета "какой модуль установить?" или "как отреагирует заказчик?", потому ваши сообщения никак не относятся к теме и решению проблемы, это и есть флуд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я брал и от Аваро - отличный модуль. Если завтра стрельнет сайт то и второй возьму попробую его в деле на боевом сайте. 

за 390 рублей) 170 грн) я даже в код лесть не буду) - купил всунул и забыл

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
37 минут назад, bmite сказал:

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

писать свой модуль итога для расчета общей суммы скидки

 

2 часа назад, bmite сказал:

Подскажите, как сделать? Я так понимаю тут собака зарыта 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, bmite сказал:

Касательно флуда, конкретно у вас он начался с самого первого сообщения. Я не просил совета "какой модуль установить?" или "как отреагирует заказчик?", потому ваши сообщения никак не относятся к теме и решению проблемы, это и есть флуд.

помоему вы здесь флудите не понимая чего просите,
вам тут 100500 раз расписали что к чему и не только я один
именно предвидя это я вам и написал первый пост
Но вы внятно даже объяснить не можете что в итоге хотите
т.к. на ваш вопрос вам куча человек отписалось а вы все продолжаете твердить - не то!
чего не то то? ещё раз позвольте спросить, чего вы хотите получить?
Скидку от суммы заказа в скидках на количество?
ну так соответственно вашим желания отвечу вам
Сделайте это в разделе услуг  там это будет дешевле на много только с другой стороны

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@shoputils ша он и тебя обвинит во флуде и впаривании модулей

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
37 minutes ago, AWARO said:

помоему вы здесь флудите не понимая чего просите,
вам тут 100500 раз расписали что к чему и не только я один
именно предвидя это я вам и написал первый пост
Но вы внятно даже объяснить не можете что в итоге хотите
т.к. на ваш вопрос вам куча человек отписалось а вы все продолжаете твердить - не то!
чего не то то? ещё раз позвольте спросить, чего вы хотите получить?
Скидку от суммы заказа в скидках на количество?
ну так соответственно вашим желания отвечу вам
Сделайте это в разделе услуг

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

 

Quote

ша он и тебя обвинит во флуде и впаривании модулей

Так ясное дело, бото-продавцы спамят своими модулями поверхностно прочитав заголовок темы или отправляют в раздел услуг.

Один товарищ предлагает ваш модуль за ~3к (в котором кстати нет нужной мне функции), вы предлагаете модуль по дешевле, но это все равно не то.

 

Как работает стандартная система скидок опенкарта? Заходишь в редактирование товара, ставишь цену БЕЗ скидки *50р*, затем переходишь во вкладку Скидки, указываешь количество *например 5шт* (после которого "включится" пересчет цены), указываешь цену *30р* (по которой пересчитывать). Затем открываешь карточку товара и добавляешь 4 товара, цена будет 4х50=200. добавляем еще 1 товар, цена будет 5х30=150.

 

Мне нужно, чтобы пересчет цены ВКЛЮЧАЛСЯ  не от количества товара, а от СУММЫ ЗАКАЗА в корзине (а не скидка рассчитывалась от суммы заказа).

То бишь я указываю в модуле (или где-то в контроллере - значение переменной) сумму заказа (= 3000 руб), после которой будет пересчет по скидке . Клиент набирает товаров в корзину на 2999р (для этой суммы цена розничная - 50р/шт), затем набирает товаров в корзину на сумму => 3000р (для этой суммы цена уже оптовая - 30р/шт).

 

Ваш модуль и другие аналогичные работают совсем по другому, а именно, от суммы заказа отнимают % либо фиксированную сумму указанную в модуле.

Изменено пользователем bmite

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

расставляйте кратное нужной сумме количество товаров

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 minute ago, AWARO said:

расставляйте кратное нужной сумме количество товаров

так не подойдет, в моем случае оптовик может купить разные товары на сумму >= 3000.

Не подскажите, в каком контроллере или модели срабатывает "переключатель"  скидочных цен (зависящий от количества)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@bmite самое быстрое если не хотите особо заморачиваться пропишите 2 строки в system/library/cart/cart.php ну и поменяйте в языковом файле для карточки товара Количество на Сумму. Соответственно нигде в корзине написано не будет что сумма со скидкой указана.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решено было так:

в файле system/library/cart.php

 

заменить

				// Product Discounts
				$discount_quantity = 0;

				$cart_2_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");

				foreach ($cart_2_query->rows as $cart_2) {
					if ($cart_2['product_id'] == $cart['product_id']) {
						$discount_quantity += $cart_2['quantity'];
					}
				}

				$product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND quantity <= '" . (int)$discount_quantity . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY quantity DESC, priority ASC, price ASC LIMIT 1");

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

на

				// Product Discounts
				$discount_quantity = 0;

				$cart_2_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");
				
				// Блок по кастомным скидкам
				$tmp_price = 0;
				foreach ($cart_2_query->rows as $prod) {
					$objProduct = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = " . (int)$prod['product_id']);
					$tmp_price += $objProduct->row['price'] * $prod['quantity'];
				}
				// Конец блока по кастомным скидкам

				// Блок по кастомным скидкам
				if ($tmp_price >= 3000) { // условие по кастомным скидкам
					$product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount 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 quantity DESC, priority ASC, price ASC LIMIT 1");

					if ($product_discount_query->num_rows) {
						$price = $product_discount_query->row['price'];
					}
				} // Конец блока по кастомным скидкам

p.s.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, bmite сказал:

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

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

п.с вы наоборот должны быть благодарны, благодаря форуму вы включили МОЗГ ) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 hours ago, dedvjbed said:

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

п.с вы наоборот должны быть благодарны, благодаря форуму вы включили МОЗГ ) 

из всей ветки всего одно толковое сообщение (перед ответом), и то альтернатива. Меня бы устроил ответ, если бы указали изначально на файл, с которым нужно работать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.