Як вивести знижку у відсотках у шаблоні Opencart?
Як вивести знижку у відсотках у шаблоні Opencart?
Описание
У цій статті ви дізнаєтесь як вивести знижку у відсотках у шаблоні CMS Opencart.
В інтернеті чомусь дуже мало робочих рішень цієї проблеми. В основному всі модулі та статті написані для адміністративної частини, щоб саме там змінювати ціни у відсотковому співвідношенні.
Але ми з вами робитимемо знижки та акції у % конкретно для клієнтів, адже для продажів краще впливає саме відсоткова знижка, ніж "стара ціна" у цифрах.
Як додати знижку у відсотках для категорій та модулів?
Для першого разу можна взяти будь-який файл модуля, категорії або сторінки товарів зі знижкою.
У цій статті будемо використовувати файли:
Крок №1. Вносимо корективи до контролера - (/catalog/controller/module/special.php)
Знаходимо:
if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result ['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } І замінюємо на:
if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result ['special'], $result['tax_class_id'], $this->config->get('config_tax'))); $skidka = round(100-($result['special) ']/($result['price']/100))); } else { $skidka = false; $special = false ; } Після знаходимо:
$data['products'][] = array( Під рядком:
'special' => $special, Вставляємо:
'skidka' => $skidka, Увага! Деякі модулі місце $result використовують $product_info, у такому разі змінюємо рядок:
$skidka = round(100-($result['special']/($result['price']/100))); на
$skidka = 100-($product_info['special']/($product_info['price']/100)); Крок №2 . Вносимо правки до шаблону (/catalog/view/theme/default/template/module/special.tpl)
Шукаємо:
Додаємо:
% Як додати знижку у відсотках для картки товару?
Крок №1. Змінюємо код у контролері - (/catalog/controller/product/product.php)
Знаходимо:
if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this- >tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { xmp>$this->data['special'] = false; } І замінюємо на:
if ((float)$product_info['special']) { $this->data['special'] = $this->currency->format($this- >tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); $this->data ['skidka'] = round(100-($product_info['special']/($product_info['price']/100))); } else { $this->data['special'] = false; $this->data['skidka'] = false; } < Увага! Для Opencart 2.x змінюємо рядок:
$this->data['skidka'] = round(100-($product_info['special']/($product_info['price']/100)))); на:
$data['skidka'] = 100-($product_info['special']/($product_info['price']/100));
< h3>Крок №2. Редагуємо шаблон картки товару (/catalog/view/theme/default/template/product/product.tpl)
Знаходимо:
І додаємо нижче або вище:
% Після чого Ви можете сміливо налаштовувати інші модулі та сторінки, які виводять товар.
Стилізація виведення відсотків на CSS - ваше домашнє завдання. Жарт, ми вважаємо, якщо ви способи залізти в PHP + HTML код навіть на такому початковому рівні, то стилізувати знижку в % не складе ніяких труднощів :)
Питання та побажання можете залишати у коментарях!