1. Главная

  2. Блог

  3. Вывести процент скидки ModX Revolution
  • MODX
  • Интернет-магазин

Вывести процент скидки ModX Revolution

  • Дата публикации

  • Автор

    Баранов Константин

  • Время чтения

    5 минут

  • Категория

    Кейс

Кейс Вывести процент скидки ModX Revolution

Введение

В одной из прошлых статей мы выводили разницу цен в виде экономии, выводимую в интерфейсе карточки товара MiniShop2, где создавали простой сниппет с использованием полей актуальной и старой цены — old_price и price.

В некоторых случаях симпатичнее было бы вывести процент % экономии. В таком случае мы немного изменим формулу расчёта и создадим новый сниппет «discount».

Создание сниппета «discount»

Создаём сниппет с именем discount и помещаем в него следующий код:

$price2 = str_replace(" ","",empty($price) ? 0 : $price);
$old_price2 = str_replace(" ","",empty($old_price) ? 0 : $old_price);
if($old_price2 > 0){
  return '<div class="percent">Скидка: <span>'.number_format(round((($old_price2 - $price2) / $old_price2) * 100), 0, '.', ' ') .'</span> %</div>';
} 
return '';
    

Вывод в карточке товара

Осталось вывести сниппет некэшируемым в карточке товара или в сетке товаров:


    

В этом сниппете мы сразу убрали десятичный разделитель MiniShop2 ms2_price_format.


предыдущая статьяследующая статья
Услуги