Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
1) Вечер добрый, подскажите как реализовать вывод суммы заказов в личном кабинете пользователя /emarket/personal.xsl ?

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

Спасибо.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
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) инфа, которую вы видите в админке, это скидка к конкретному заказу. А вы хотите вывести скидку пользователя. И способы расчета у них разный. Вы можете выводить значение скидки типа "скидка на пользователя" или "скидка на группу пользователей", но в любом случае  для этого надо опять же писать макрос.