Просмотр общей суммы заказов пользователя — различия между версиями
Материал из Umicms
Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.1''' Иногда возникает необходимость узнать сумму всех заказов опр…») |
(нет различий)
|
Версия 13:51, 12 августа 2013
Актуально для версии 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 необходимого Вам статуса заказа.