1 Отредактировано Sergey T. (25.04.2016 13:32:53)

Тема: как вывести количество заказов пользователя

Подскажите пожалуйста как вместо ID пользователя в это поле вывести количество совершенных им заказов?

http://s020.radikal.ru/i716/1604/4b/890e7c91d023.jpg



Как я понимаю нужно что-то вставить в order_user_cell.tpl ? А вот что именно?

2 Отредактировано Закусило Александр (25.04.2016 16:10:11)

Re: как вывести количество заказов пользователя

smile Вам надо вызвать статическую функцию при помощи static_call из своего модуля, где в функции надо вызвать апи заказов вот так:

$order_api = new \Shop\Model\OrderApi();
$order_count = $order_api->getUserOrdersCount(id вашего пользователя);
return $order_count;

http://readyscript.ru/dev-manual/dev_sm … tatic_call

3

Re: как вывести количество заказов пользователя

По ходу я не шарю в синтаксисе smile
Попытался сделать по инструкции, что-то не вышло

 {$user=$order->getUser()}
    {$user->getFio()} <span class="cell-sgray">({$cell->getValue()})

{static_call var=result callback=[$order_api = new \Shop\Model\OrderApi(); $order_count = $order_api->getUserOrdersCount(id вашего пользователя);return $order_count;]}{$result}


</span> 

Re: как вывести количество заказов пользователя

То что вы написали это вообще не то. Вам надо как я и насал вызвать статическую публичную функцию из своего дополнительного модуля.

{static_call var=result callback=['Путь к классу апи Вашего модуля','функция которая должна отработать'] params=['id пользователя']}

Предлоложим у Вас есть дополнительный модуль с именем custom, который вы создали. Если у нём будет лежать класс с Вашим API(набором функций). То к нему можно будет обратиться примерно так:

{static_call var=result callback=['\Custom\Mode\Api','getUserOrderCulc'] params=[$user.id]}

Соответственно код Вашего класса должен быть примерно таким:

<?php
namespace Custom\Model;

class Api
{
     /**
     * Подсчитывает количество заказов у пользователя
     * @param integer $user_id - идентификатор пользователя
     */
     public static function getUserOrdersCount($user_id){
          $order_api = new \Shop\Model\OrderApi();
          $order_count = $order_api->getUserOrdersCount($user_id);
          return $order_count;
     }
}