Здравствуйте, подскажите насчёт хука по округлению цен
class Shop_Price_Observer
{
static public function round($price)
{
/*
-3 — до тысяч
-2 — до сотен
-1 — до десятков
*/
return round($price, -3);
}
static public function onAfterCalculatePrice($object, $args)
{
$aPrice = $object->getAPrice();
$aPrice['price_discount'] = self::round($aPrice['price_discount']);
$object->setAPrice($aPrice);
}
}
Core_Event::attach('Shop_Item_Controller.onAfterCalculatePrice', array('Shop_Price_Observer', 'onAfterCalculatePrice'));
Как добиться округления цен только для товаров у которых скидка? Например есть товар по скидке с ценой 30400 рублей, нужно округлить эту цену до тысяч, хук работает, но есть товары без скидок допустим с ценой 1200 рублей - их округлять не нужно. Т.е. как добиться чтобы хук работал не глобально а только на товары у которых цена по скидке? Сейчас он округляет все цены.