вывод скидки в процентах вместо зачеркнутой старой цены

Нередко, при создании интернет-магазина требуется рассчитать и вывести вместо старой цены значение скидки в %. Стандартными средствами joomshopping это не предусмотрено, поэтому необходимо сделать совсем небольшие правки в коде шаблона...

Итак, открываем файл /components/com_jshopping/templates/default/list_products/product.php
и меняем часть кода <?php print formatprice($product->product_old_price)?> на следующий код:

<?php
$a=$product->product_old_price;
$b=$product->product_price;
echo "-".round(100 - $b / $a * 100)."%";
?>

Таким образом мы рассчитаем, округлим до целого значения и выведем в списке товаров скидку не в абсолютном значении, а в %, вида "-16%".

Для карточки товара делаем аналогичным образом в файле: /components/com_jshopping/templates/default/product/product_default.php

В стилях CSS убираем зачеркнутость (если прописана) и наблюдаем подобную картину:

percent-big

Давайте то же проделаем для модуля joomshopping label products (продукты с метками), в котором вывод старой цены вообще не предусмотрен!

Открываем файл /modules/mod_jshopping_label_products/tmpl/default.php либо файл /templates/ваш_шаблон/html/mod_jshopping_label_products/default.php если у вас создано переопределение и вставляем код туда, где вы хотите, чтобы выводился размер скидки в процентах:

<?php if ($curr->_display_price){?>
<div class="pricebox clearfix">
<div class="price"><?php print formatprice($curr->product_price);?></div>
<?php if ($curr->product_old_price > 0){?>
<div class="price discount">
<!--?php print $curr->product_old_price;?-->
<?php
$a=$curr->product_old_price;
$b=$curr->product_price;
echo "-".round(100 - $b / $a * 100)."%";
?>
</div>
<?php }?>
</div>
<?php }?>
 

Комментарии   

+1 #1 Алексей 01.11.2016 13:14
Добрый день, а как сделать что бы осталась перечёркнутая старая цена, новая цена и процент скидки ?
Цитировать
0 #2 Наталья 17.11.2016 15:56
Спасибо, все замечательно.
Скажите, а как вывести процент скидки для каждого товара корзины?
Цитировать

Добавить комментарий


Защитный код
Обновить