Просмотр общей суммы заказов пользователя
Материал из Umicms
Версия от 13:51, 12 августа 2013; Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.1''' Иногда возникает необходимость узнать сумму всех заказов опр…»)
Актуально для версии 2.9.1
Иногда возникает необходимость узнать сумму всех заказов определенного пользователя. Для реализации данной задачи необходимо создать кастомный макрос, разместим его в файле /classes/modules/custom.php
public function totalSum ($userId) {
$pages = new selector('objects');
$pages->types('object-type')->name('emarket', 'order');
$pages->where('owner')->equals($userId);
$pages->where('status_id')->equals('20');
$total_price_all = 0;
foreach($pages as $page) {
$total_price_once = $page->getValue('total_price');
$total_price_all = $total_price_all + $total_price_once;
}
return $total_price_all;
}
При вызове этого макроса мы передаем ему id пользователя, для которого необходимо найти сумму всех заказов. В строке
$pages->where('status_id')->equals('20');
мы выбираем только заказы, у которых статус заказа - "Готов". Если нам необходима выборка по другому статусу заказа - тогда вместо 20 подставьте id необходимого Вам статуса заказа.