natojezlo
@natojezlo

Opencart 2.3 вывести процентное значение скидки?

Пытаюсь вывести какой процент скидки в КАРТОЧКЕ товара
в контроллер добавил (выделил что добавил)
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)));</b>



			} 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'])
				);
			}


В шаблоне карточки вывожу

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

Работает если есть скидка
если скидка не назначена, лезут ошибки на эту линию 'skidka' => $skidka,

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

может кто в курсе почему false не срабатывает?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы