Opencart 2.3 - скидка в процентах в карточке


klekovkinandrey
 Поделиться

Рекомендуемые сообщения

Доброго времени
Помогите решить проблему

Вывел в карточке товара скидку в процентах по мануалу

но мануал не совсем рабочий

сделал так

добавил в контроллере product.php

Скрытый текст

if ((float)$product_info['special']) {
				$data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
				$data['discount_amount'] = $this->currency->format($this->tax->calculate(($product_info['price'] - $product_info['special']), $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);	

Добавил сюда   -             $data['skidka'] = round(100-($product_info['special']/($product_info['price']/100)));

			} else {
				$data['special'] = false;
Добавил сюда   -             $data['skidka'] = false;
			}



далее добавил

				$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
Добавил сюда   -    'skidka' 	=> $skidka,
					'tax'         => $tax,
					'sku'         => (empty($result['sku'])) ? '' : $this->language->get('text_sku') .' '. $result['sku'],
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $rating,
					'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
				);
			}


в карточке product.tpl вывел скидку

<span>- <?php echo $skidka; ?>%</span>

 

 

Скидка в процентах выводится

но когда скидка не задана лезут ошибки

Notice: Undefined variable: skidka in /***********/catalog/controller/product/product.php on line 478Notice

478 линия это вот это      'skidka'     => $skidka,

 

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

22 минуты назад, nikifalex сказал:

вы неправильно прочитали мануал. попробуйте еще раз

 

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

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

41 минуту назад, nikifalex сказал:

это вам вообще не надо

 


Добавил сюда   -    'skidka' 	=> $skidka,
					

 

 

 у меня уже просто мозг кипит
действительно не нужно, но это сути не меняет
ругается на tpl, когда скидка(акция) не указана
<?php echo $skidka; ?>

ну так подскажите что я не правильно делаю

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

6 часов назад, klekovkinandrey сказал:

все. разобрался
проблема была немного не там
 

 

А другим подсказать, чтобы у них мозг не кипел?)

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

  • 4 недели спустя...
В 12.01.2020 at 01:45, WarStyle сказал:

 

А другим подсказать, чтобы у них мозг не кипел?)

 

по мануалу все правильно
просто у меня дополнительно были грабли в контроллере к другой функции
из за них лезли ошибки

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу