Тема: Как получить из шаблона (wrapper) заказы пользователя?

Как можно получить из шаблона (wrapper) все заказы пользователя? Интересуют заказы, что ожидают оплату, для оповещения пользователя

Повысить оценку Понизить оценку

Re: Как получить из шаблона (wrapper) заказы пользователя?

Скорее всего Вам подойдёт вызов метода static_call. С ним можно ознакомится в документации.
Он позволит Вам вызвать свою функцию(public static) из своего класса и вернуть результат.

Например у нас есть  класс CustomApiв вашем модуле /modules/custom/model/customapi.inc.php. В нём Вы запишите свой метод, который вернёт все объекты заказов принадлежащих пользователю:

namespace Custom\Model;

class CustomApi {
    
    public static function getMyOrders(){
        $list = array();
        //Смотрим, а авторизованы ли мы, чтобы получить текущего пользователя
        if (\RS\Application\Auth::isAuthorize()){
           //Получим ORM объект текущего пользователя
            $user = \RS\Application\Auth::getCurrentUser();
            
            //Далее делаем запрос к БД, чтобы получить заказы пользователя
            $list = \RS\Orm\Request::make()
                    ->from(new \Shop\Model\Orm\Order()) //Обращение к таблице заказа через объект заказа
                    ->where(array( //Условие
                        'user_id' => $user['id'], //id пользователя
                    ))
                    ->where('status < 4') //Нужные нам статусы заказа < 4, т.к. статусы заказов должны быть менее выполнен и закрыт (4). Посмотреть статусы можно в Магазин -> Статусы заказов
                    ->objects(); //Выполнить запрос и получить в виде объектов заказы
        }
        return $list; 
        
    }
}

А в шаблоне просто делаем следующий вызов:

{static_call var=list callback=['\Custom\Model\CustomApi','getMyOrders']}
<pre>
{var_dump($list)}
</pre>

Пробуйте

Re: Как получить из шаблона (wrapper) заказы пользователя?

Получилось?

Re: Как получить из шаблона (wrapper) заказы пользователя?

В ближайшее время попробую и отпишусь. Благодарю за помощь!

Повысить оценку Понизить оценку

Re: Как получить из шаблона (wrapper) заказы пользователя?

Все отлично, спасибо!

Повысить оценку Понизить оценку