Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


 Share

Recommended Posts

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

Link to comment
Share on other sites


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
Link to comment
Share on other sites


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;
	}

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

 

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

Link to comment
Share on other sites


  • 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

 

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

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.