Тема: Как получить из шаблона (wrapper) заказы пользователя?
Как можно получить из шаблона (wrapper) все заказы пользователя? Интересуют заказы, что ожидают оплату, для оповещения пользователя
Форум ReadyScript Вопросы по разработке модулей и API системы Как получить из шаблона (wrapper) заказы пользователя?
Страницы 1
Чтобы отправить ответ, вы должны войти
Как можно получить из шаблона (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>Пробуйте
В ближайшее время попробую и отпишусь. Благодарю за помощь!
Все отлично, спасибо!
Страницы 1
Чтобы отправить ответ, вы должны войти
Форум ReadyScript Вопросы по разработке модулей и API системы Как получить из шаблона (wrapper) заказы пользователя?