Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

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


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

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

 

В этой статье будем использовать файлы:

/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="procent"><?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 {$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));

Шаг №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="procent"><?php echo $product['skidka']; ?>%</span>

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

 

Ссылка на комментарий

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

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

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...