Отображение значения скидки в процентах (tpl 2.8)
Материал из Umicms
(Перенаправлено с Отображение значения скидки в процентах tpl 2.8))
Задача.
Отобразить значение скидки на товар, в случае если на указанный товар распространяется скидка.
Решение.
В файле classes/modules/emarket/__custom.php, после слов: //TODO: Write here your own macroses, добавим новый метод:
public function proc($elementId) { if(!$elementId) return; $hierarchy = umiHierarchy::getInstance(); $element = $hierarchy->getElement($elementId); $discount = itemDiscount::search($element); if($discount instanceof discount) { $id_proc = $discount->getValue("discount_modificator_id"); $proc = umiObjectsCollection::getInstance()->getObject($id_proc)->getValue("proc"); return "Скидка: ".$proc."%"; } }
B папку classes/modules/emarket/ необходимо добавить файл permissions.custom.php следующего содержания:
<?php $permissions = array('purchasing' => array('proc')); ?>
Пример вызова:
%emarket proc(%id%)%
где %id% - id страницы с товаром.
Макрос используется в том блоке, в который передается id объекта каталога, т.е. допустим в блоках objects_block_line или view_block.
