@SabAlex

Как вывести суммарную стоимость оплаченных заказов пользователя в umi cms?

Всем добрый день.
Провожу доработку сайта на 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;
        }

    }


Но в таблице по прежнему выводится нечто странное(не у всех заказов в принципе выводится значение поле "Сумма заказов"). Хотя заказы с необходимыми статусами у пользователей есть.

В какую сторону можно покопать? Пока появилась мысль что что-то ни то именно с таблицей, но не знаю где в целом настраивается вывод данных в определенную ячейку. Прям печаль.
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы