0

Як вивести знижку у відсотках у шаблоні Opencart?

Як вивести знижку у відсотках у шаблоні Opencart?

Відгуків: 0
09.12.2020

Описание

У цій статті ви дізнаєтесь як вивести знижку у відсотках у шаблоні CMS Opencart.



В інтернеті чомусь дуже мало робочих рішень цієї проблеми. В основному всі модулі та статті написані для адміністративної частини, щоб саме там змінювати ціни у відсотковому співвідношенні.


Але ми з вами робитимемо знижки та акції у % конкретно для клієнтів, адже для продажів краще впливає саме відсоткова знижка, ніж "стара ціна" у цифрах.


Як додати знижку у відсотках для категорій та модулів?


Для першого разу можна взяти будь-який файл модуля, категорії або сторінки товарів зі знижкою.


У цій статті будемо використовувати файли:



  • "/catalog/controller/module/special.php"
  • "/catalog/view/theme/default/template/module/special.tpl"


  • Крок №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)


    Шукаємо:

    <span class="price-old"><?php echo $product['price']; ?></span><span class="price-new"><?php echo $product['special']; ?></span>

    Додаємо:

    <span class="%"><?php echo $product['skidka']; ?>%</span>

    Як додати знижку у відсотках для картки товару?



    Крок №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><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)

    Знаходимо:

    <span class="price-old"><?php echo $product['price']; ?></span><span class="price-new"><?php echo $product['special']; ?></span>

    І додаємо нижче або вище:

    <span class="%"><?php echo $product['skidka']; ?>%</span>

    Після чого Ви можете сміливо налаштовувати інші модулі та сторінки, які виводять товар.



    Стилізація виведення відсотків на CSS - ваше домашнє завдання. Жарт, ми вважаємо, якщо ви способи залізти в PHP + HTML код навіть на такому початковому рівні, то стилізувати знижку в % не складе ніяких труднощів :)


    Питання та побажання можете залишати у коментарях!

    Автор: DEV-OPENCART.COM

    Відгуків %s

    Написати відгук

    Пожалуйста, поставьте оценку:

    Закладки

    Кошик (0)

    Контакти

    Тех.підтримка з 10:00 до 19:00 без вихідних

    Веб-лабораторія «DEV-OPENCART».
    Всі права захищені (с) 2018-2026