Всем добрый день.
Провожу доработку сайта на umi, и встала задача к которой не знаю как подойти: у нас есть таблица с заказами. Там есть столбец "Сумма заказов". В эту колонку надо выводить суммарную стоимость заказов пользователя со статусами "принят", "собран" и "доставляется"(это те статусы, которые у оплаченных заказов).
Вроде был найден файл, в котором происходит этот подсчет. Туда были добавлены коды различных статусов. Его код:
<?php
class customerOrderTotalRestriction extends baseRestriction implements iNormalizeOutRestriction {
public function validate($value, $objectId = false) {
return true;
}
public function normalizeOut($value, $objectId = false) {
if (!$objectId) {
return false;
}
$object = umiObjectsCollection::getInstance()->getObject($objectId);
$result = false;
if($object instanceof umiObject) {
$orders = new selector('objects');
$orders->types('object-type')->name('emarket', 'order');
$orders->where('owner')->equals($object->getValue('customer_id'));
$orders->option('or-mode')->field('status_id');
$orders->where('status_id')->equals([24838, 296, 295, 293]);
foreach($orders->result() as $order) {
$result += $order->getValue('total_price');
}
}
return $result;
}
}
Но в таблице по прежнему выводится нечто странное(не у всех заказов в принципе выводится значение поле "Сумма заказов"). Хотя заказы с необходимыми статусами у пользователей есть.
В какую сторону можно покопать? Пока появилась мысль что что-то ни то именно с таблицей, но не знаю где в целом настраивается вывод данных в определенную ячейку. Прям печаль.