UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: john от 09 Октября 2014, 23:36:23

Название: Вывод суммы заказов всей истории покупок пользователя
Отправлено: john от 09 Октября 2014, 23:36:23
1) Вечер добрый, подскажите как реализовать вывод суммы заказов в личном кабинете пользователя /emarket/personal.xsl ?

2) И как вывести действующую скидку для пользователя?
В админке после оформления заказа, в модуле интернет магазин в заказе можно увидеть скидку, а как ее оттуда правильно вытащить?

Спасибо.
Название: Re:Вывод суммы заказов всей истории покупок пользователя
Отправлено: admin от 10 Октября 2014, 00:09:25
1) насколько мне известно, прям такого макроса нет. Склепал кастом для модуля emarket на скору руку (не тестировал)
public function getCustomerOrdersPricesSum() {
$customer = customer::get();

$cmsController = cmsController::getInstance();
$domain = $cmsController->getCurrentDomain();
$domainId = $domain->getId();

$sel = new selector('objects');
$sel->types('object-type')->name('emarket', 'order');
$sel->where('customer_id')->equals($customer->id);
$sel->where('domain_id')->equals($domainId);
$sel->where('status_id')->equals(order::getStatusByCode('ready'));
$orders = $sel->result;

$price = 0;
foreach($orders as $orderObject) {
$order = order::get($orderObject->id);
$price += $order->getActualPrice();
}

return $price;
}

2) инфа, которую вы видите в админке, это скидка к конкретному заказу. А вы хотите вывести скидку пользователя. И способы расчета у них разный. Вы можете выводить значение скидки типа "скидка на пользователя" или "скидка на группу пользователей", но в любом случае  для этого надо опять же писать макрос.