Перейти к содержанию
View in the app

A better way to browse. Learn more.

Русскоязычное сообщество Opencart

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

В связи с блокировкой банка QIWI оплата через сайт не возможна.
Для оплаты и получения дополнений просьба писать в личные сообщения 
Admin*у
или в Телеграмм https://t.me/pascha_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="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>

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

 

  • тема был закрыт
Гость
Эта тема закрыта для публикации ответов.

Последние посетители 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.