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

Фиксированная скидка для другой группы покупателей


Recommended Posts

Здравствуйте, как можно сделать так, чтобы для определенной группы покупателей была бы фикс. скидка на все товары, вне зависимости от категорий. Например, если пользователь принадлежит к этой категории, то во всех товарах будет отображаться стандартная цена с вычетом 20%.

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


2 часа назад, 98yard сказал:

Здравствуйте, как можно сделать так, чтобы для определенной группы покупателей была бы фикс. скидка на все товары, вне зависимости от категорий. Например, если пользователь принадлежит к этой категории, то во всех товарах будет отображаться стандартная цена с вычетом 20%.

Установить всем товарам акции или скидки для данной группы покупателей. 

Или модуль или самому написать

насколько помню в тройке вам нужно модельку запилить с получением total

public function getTotal($total) {

там вам нужно узнать группу пользователя и сравнить с нужной ( допустим ваша группа Premium имеет id 35)

if($this->customer->getGroupId === 35){

пройтись по товарам из корзинки

foreach ($this->cart->getProducts() as $product) {

получить цену и от нее отнять 20% и запомнить сумму скидки

$premium_discount = эта сумма

И потом затоталиться

 

$total['totals'][] = array(

'code' => 'premium',

'title' => ' Хороший скидка для харошый чилавек ',

'value' => -$premium_discount,

'sort_order' => $this->config->get('total_premium_sort_order') );

 

Что-то вроде такого можно запилить Ну и там понятно надо еще контроллер запилить и всякую всячину, чтобы у вас модуль вышел.

 

Или залезть в корзину system/library/cart/cart.php и там нашаманить, правда за такое тут бьют по рукам, что вы прям без модуля и модификатора полезли в код без мыла, так сказать

 

public function getSubTotal() {
		$total = 0;

		foreach ($this->getProducts() as $product) {
			if($this->customer->getGroupId === 35){
				$total += $product['total'] - $product['total']*0.2;
				}else{
					$total += $product['total'];
				}
		}

		return $total;
	}

Ну и Кеши модификаторы потом почистить не забудьте) И вы все делаете на свой страх и риск)

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


3 часа назад, niger сказал:

Установить всем товарам акции или скидки для данной группы покупателей. 

Или модуль или самому написать

насколько помню в тройке вам нужно модельку запилить с получением total

public function getTotal($total) {

там вам нужно узнать группу пользователя и сравнить с нужной ( допустим ваша группа Premium имеет id 35)

if($this->customer->getGroupId === 35){

пройтись по товарам из корзинки

foreach ($this->cart->getProducts() as $product) {

получить цену и от нее отнять 20% и запомнить сумму скидки

$premium_discount = эта сумма

И потом затоталиться

 

$total['totals'][] = array(

'code' => 'premium',

'title' => ' Хороший скидка для харошый чилавек ',

'value' => -$premium_discount,

'sort_order' => $this->config->get('total_premium_sort_order') );

 

Что-то вроде такого можно запилить Ну и там понятно надо еще контроллер запилить и всякую всячину, чтобы у вас модуль вышел.

 

Или залезть в корзину system/library/cart/cart.php и там нашаманить, правда за такое тут бьют по рукам, что вы прям без модуля и модификатора полезли в код без мыла, так сказать

 


public function getSubTotal() {
		$total = 0;

		foreach ($this->getProducts() as $product) {
			if($this->customer->getGroupId === 35){
				$total += $product['total'] - $product['total']*0.2;
				}else{
					$total += $product['total'];
				}
		}

		return $total;
	}

Ну и Кеши модификаторы потом почистить не забудьте) И вы все делаете на свой страх и риск)

 

Понял, буду знать в каком направлении рыть. Спасибо за подробную помощь!

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


  • 3 weeks later...

К сожалению нет такой настройки в opencart. Я сделал так, пример для образца

//Проверка группы пользователей - избранные	
if ( $this->customer->isLogged() == 1) {	
$percent = 11;
}
else {
$percent = 13;	
}
//Вычисляем процент
$numb_percent = $stoimost_cena / 100 * $percent; 
$stoimost = $stoimost_cena + $numb_percent;	
//stoimost и stoimost_cena это мои переменные с ценами так как я их беру через api. 

И так в каждом файле catalog\controller\product\category.php и.т.д

А так же в саму корзину придётся лезть.

system\library\cart\cart.php

 

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

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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