Нередко, при создании интернет-магазина требуется рассчитать и вывести вместо старой цены значение скидки в %. Стандартными средствами 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 убираем зачеркнутость (если прописана) и наблюдаем подобную картину:
Давайте то же проделаем для модуля 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 }?>
Скажите, а как вывести процент скидки для каждого товара корзины?