<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Как получить из шаблона (wrapper) заказы пользователя?]]></title>
	<link rel="self" href="https://forum.readyscript.ru/feed/atom/topic/327/" />
	<updated>2015-10-18T14:00:37Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.readyscript.ru/topic/327/kak-poluchit-iz-shablona-wrapper-zakazy-polzovatelya/</id>
		<entry>
			<title type="html"><![CDATA[Re: Как получить из шаблона (wrapper) заказы пользователя?]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/2094/#p2094" />
			<content type="html"><![CDATA[<p>Все отлично, спасибо!</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>https://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-10-18T14:00:37Z</updated>
			<id>https://forum.readyscript.ru/post/2094/#p2094</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как получить из шаблона (wrapper) заказы пользователя?]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/1178/#p1178" />
			<content type="html"><![CDATA[<p>В ближайшее время попробую и отпишусь. Благодарю за помощь!</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>https://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-04-16T03:26:08Z</updated>
			<id>https://forum.readyscript.ru/post/1178/#p1178</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как получить из шаблона (wrapper) заказы пользователя?]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/1176/#p1176" />
			<content type="html"><![CDATA[<p>Получилось?</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-04-15T11:54:24Z</updated>
			<id>https://forum.readyscript.ru/post/1176/#p1176</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как получить из шаблона (wrapper) заказы пользователя?]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/1166/#p1166" />
			<content type="html"><![CDATA[<p>Скорее всего Вам подойдёт вызов метода <strong>static_call</strong>. С ним можно ознакомится в <a href="http://readyscript.ru/dev-manual/dev_smarty_rsplugins.html#dev_smarty_rsplugins_function_static_call">документации</a>.<br />Он позволит Вам вызвать свою функцию(public static) из своего класса и вернуть результат.</p><p>Например у нас есть&nbsp; класс <strong>CustomApi</strong>в вашем модуле <strong>/modules/custom/model/customapi.inc.php</strong>. В нём Вы запишите свой метод, который вернёт все объекты заказов принадлежащих пользователю:</p><div class="codebox"><pre><code>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()
                    -&gt;from(new \Shop\Model\Orm\Order()) //Обращение к таблице заказа через объект заказа
                    -&gt;where(array( //Условие
                        &#039;user_id&#039; =&gt; $user[&#039;id&#039;], //id пользователя
                    ))
                    -&gt;where(&#039;status &lt; 4&#039;) //Нужные нам статусы заказа &lt; 4, т.к. статусы заказов должны быть менее выполнен и закрыт (4). Посмотреть статусы можно в Магазин -&gt; Статусы заказов
                    -&gt;objects(); //Выполнить запрос и получить в виде объектов заказы
        }
        return $list; 
        
    }
}</code></pre></div><p>А в шаблоне просто делаем следующий вызов:</p><div class="codebox"><pre><code>{static_call var=list callback=[&#039;\Custom\Model\CustomApi&#039;,&#039;getMyOrders&#039;]}
&lt;pre&gt;
{var_dump($list)}
&lt;/pre&gt;</code></pre></div><p>Пробуйте</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-04-13T09:32:46Z</updated>
			<id>https://forum.readyscript.ru/post/1166/#p1166</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как получить из шаблона (wrapper) заказы пользователя?]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/1155/#p1155" />
			<content type="html"><![CDATA[<p>Как можно получить из шаблона (wrapper) все заказы пользователя? Интересуют заказы, что ожидают оплату, для оповещения пользователя</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>https://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-04-12T04:15:10Z</updated>
			<id>https://forum.readyscript.ru/post/1155/#p1155</id>
		</entry>
</feed>
