вывод по разнице price-old_price в процентах
Привет!
Я учусь и появилась следующая задача:
Вывести товары minisop2 отсортированные по проценту разницы price и old_price
т.е.
Кто-нибудь решал подобную задачу? Гуру, подскажите!
пробовал еще такую конструкцию, но по плейсхолдеру pricevariations – сортировки не происходит
3
Я учусь и появилась следующая задача:
Вывести товары minisop2 отсортированные по проценту разницы price и old_price
т.е.
[[!pdoPage?
&element=`msProducts`
&tpl=`tpl`
&sortby=`этот_процент`
&sortdir=`DESC`
]]для получения этого процента в товаре я использую сниппет [[!procent]]<?php
$price2 = str_replace(" ","",$modx->resource->get('price'));
$old_price2 = str_replace(" ","",$modx->resource->get('old_price'));
$pricevariations = $old_price2 - $price2;
if($old_price2 > 0){
echo '<div class="procent"><span>'.number_format(round(($pricevariations / $old_price2) * 100), 0, '.', ' ') .'</span></div>';
}чтобы этот же процент получить в категории товаров пришлось сниппет немного изменить<?php
$price2 = str_replace(" ","",empty($price) ? 0 : $price);
$old_price2 = str_replace(" ","",empty($old_price) ? 0 : $old_price);
if($old_price2 > 0){
return '<div class="procent"><span>'.number_format(round((($old_price2 - $price2) / $old_price2) * 100), 0, '.', ' ') .'</span></div>';
}
return '';и его вызов[[!procent_category? &price=`[[+price]]` &old_price=`[[+old_price]]`]]Это работает. Но теперь нужно сделать вывод товара отсортировнного по возрастанию или убыванию по этому проценту и, например, не показывать товары, где процент меньше 10%.Кто-нибудь решал подобную задачу? Гуру, подскажите!
пробовал еще такую конструкцию, но по плейсхолдеру pricevariations – сортировки не происходит
[[+old_price:isnot=`0`:then=`[[+old_price:replace=` ==`:subtract=`[[+price:replace=` ==`]]`:div=`[[+old_price:replace=` ==`]]`:mpy=`100`:toPlaceholder=`pricevariations`]]`:else=``]]
Комментарии: 3