Показать специальную цену со скидкой% в Opencart: 2.3.0.2 - PullRequest
1 голос
/ 11 января 2020

Я хочу показать скидку по специальной цене% на странице категории (список товаров), а также на странице товаров. Как

<h3><?php echo (($price[0]-$special[0])/$price[0])*100 ?>% Discount</h3>

Но как мы можем получить цену без кода валюты на странице категории продукта? Или

Может быть, мы также можем получить выбранную валюту, а затем исключить ее из $ price и $ special. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 15 января 2020

1. Контроллер категории:

Путь к файлу: каталог \ контроллер \ продукт \ категория. php

A. найдите эту строку

$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);

после добавления

$disPercentage = ((($result['price']-$result['special'])/$result['price']) * 100);

B. найдите эту строку

$special = false;

после добавления

$disPercentage = false;

C. найдите эту строку

'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,

после добавления

'disPercentage' => $disPercentage,

2. Страница просмотра категории:

Путь к файлу: каталог \ view \ theme \ default \ template \ product \ category.tpl

A. найдите эту строку

<h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>

после добавления

<?php if ($product['special']) { ?>
    <h3 style="color:red;"><?php echo $product['disPercentage']; ?>% Discount</h3>
<?php } ?>

Product Listing Screenshot :

3. Контроллер продукта:

Путь к файлу: каталог \ контроллер \ продукт \ product. php

A. найдите эту строку

$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['disPercentage'] = ((($product_info['price']-$product_info['special'])/$product_info['price']) * 100);

B. найдите эту строку

$data['special'] = false;

после добавления

$data['disPercentage'] = false;

4. Страница просмотра продукта:

Путь к файлу: каталог \ представление \ тема \ default \ template \ product \ product.tpl

A. найти эту строку

<h1><?php echo $heading_title; ?></h1>

после добавления

<?php if ($special) { ?>
   <h3 style="color:red;"><?php echo $disPercentage; ?>% Discount</h3>
<?php } ?>

Product page Screenshot

0 голосов
/ 12 января 2020

в соответствующем файле контроллера найдите:

$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);

замените на:

$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'], true, false);

То же самое по специальной цене ...

...