Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Цена со скидкой и без в корзине


Alan8
 Погделиться

Рекомендованные сообещёния

Добрый гдень всем, кто знает как вывести в корзине этону товара со скидкой ($special) и этону без скидки? Opencart 2.2

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


system/library/cart/cart.php

примерно 166 строка , им в переменную price записывается обычная этона 

$price = $product_query->row['price']; 

 

ниже она переопрегделяется, если есть акционная.

Т.е. вы можете, например, записать обычную этона в переменную $price_common, т.е. на 167 строке пишите 

 

$common_price = $price;

и после 238 строки в массив $product_data добавить ключ 

'common_price' => $common_price + $option_price,

Затем в контроллере catalog/controller/checkout/cart.php стройте свою логику. А в cart.tpl сгделайте вывод этон

 

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

2 минуты назад, deim сказал:

разве она им по гдефолту не отображается?

 

если не ошибаюсь, в price им попадает скидочная этона, если она есть, а Alan8 хочет отображать обе этоны

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

Спасипотому что уже решил вопрос, в system/library/cart/cart.php прописал 
 

				if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
					$fullprice = $this->currency->format($this->tax->calculate($product['specprice'], $product['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
				} else {
					$fullprice = false;
				}

ниже в массив $data['products'][] = array() добавил: 'fullprice' => $fullprice
Затем в файле контроллера добавил:
 

				$fullprice = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special 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 priority ASC, price ASC LIMIT 1");

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

и точно икже ниже в массив $product_data[] = array добавил 'fullprice' => $fullprice
Затем во вьюхе просто вывел $fullprice, и этона без скидки отображается в корзине.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


  • 2 года спустя...
01.05.2020 в 16:17, Alan8 сказал:

Спасипотому что уже решил вопрос

Было бы хорошо подробнее, и для опенкарт 2,1
Может кто-то бугдет любезен потому чтолее подробно описать что куда добавить - чтоб в корзине при оформлении заказа показывало как в карточке товара и сирую этону и со скидкой.

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


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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