Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


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.