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

Модуль скидка от суммы заказа [Поддержка]


Recommended Posts

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

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


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

сделаем, но в рамках другого модуля
Надіслати
Поділитися на інших сайтах

  • 1 month later...
  • 1 month later...
  • 2 months later...

Добрый день спасибо за модуль. Подскажите, пожалуйста, в чем может быть причина, ставлю скидку 10000:5,50000:10, но при сумме заказа, например 20000, скидка 5%, а не 10? OCSHOP.CMS Версия 1.5.6.3.2

Заранее спасибо.

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


  • 1 month later...

Grosse,быстро:catalog/model/total/discount.php

<?php
class ModelTotalDiscount extends Model {
	private $stopDiscountProductPrice = 2000; // если стоимость товара выше или равна указанной здесь - стоимость товара не участвует в подсчете "подитога" для рассчета скидки
	
	public function getTotal(&$total_data, &$total, &$taxes) {
		
		$discount_customer_group_id = (int)$this->config->get('discount_customer_group_id');
		$auth = $this->customer->isLogged() && ($discount_customer_group_id != (int)$this->customer->getCustomerGroupId());
		$notAuth = !$this->customer->isLogged() && ($discount_customer_group_id != (int)$this->config->get('config_customer_group_id'));
		
		if($discount_customer_group_id !== 0 && ($auth || $notAuth)) {
			return;
		}
		
		$this->load->language('total/discount');
		
		//$sub_total = $this->cart->getSubTotal(); // заменяем стандартный подсчет подитога на свой (ниже в этом файле)
		$sub_total = $this->getSubTotal();
		
		$perc = 0;
		foreach(explode(',', $this->config->get('discount_totals')) as $data) {
			$data = explode(':', $data);
			if ($data[0] >= $sub_total) {
				if (isset($data[1])) {
					$perc = $data[1];
				}
				break;
			}
		}
		if ($perc == 0) {
			return;
		}
		$discount =  - $sub_total/100 * $perc;
		$total += $discount;
		$total_data[] = array(
			'code'       => 'discount',
			'title'      => sprintf($this->language->get('text_discount'), $perc),
			'text'       => $this->currency->format($discount),
			'value'      => $discount,
			'sort_order' => $this->config->get('discount_sort_order')
		);
	}
	
	protected function getSubTotal() {
		$total = 0;
		foreach ($this->cart->getProducts() as $product) {
			if ($product['price'] < $this->stopDiscountProductPrice) {
				$total += $product['total'];
			}
		}
		return $total;
	}
}
?>

с рюшечками-настройками-из-админки - лениво делатьupd:важный момент - надо объяснить покупателю, почему написано "скидка 15%", а считаются эти проценты только на часть товаров.

Добрый день!

Подскажите, как изменить код таким образом, чтобы скидка не действовала для товаров с определённым id?

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


  • 3 weeks later...
  • 5 months later...

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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