<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Обращение к классу из своего модуля в handlers]]></title>
		<link>http://forum.readyscript.ru/topic/2294/obrashchenie-k-klassu-iz-svoego-modulya-v-handlers/</link>
		<atom:link href="http://forum.readyscript.ru/feed/rss/topic/2294/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Обращение к классу из своего модуля в handlers».]]></description>
		<lastBuildDate>Fri, 29 Mar 2024 20:24:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12018/#p12018</link>
			<description><![CDATA[<p>Отвечу на свой же вопрос, может кому пригодится автоматом создавать заказ в сдэк только после оплаты заказа и вызывать автоматом курьера))</p><div class="codebox"><pre><code>$cdek2 = $order-&gt;getDelivery()-&gt;getTypeObject();
if ($cdek2 instanceof \Shop\Model\DeliveryType\Cdek2) {
    $cdek2-&gt;createDeliveryOrder($order);
}
$cdekApi = new CdekApi();
$cdekApi-&gt;setTypeObject($cdek2);
if ($cdekApi instanceof Shop\Model\DeliveryType\Cdek\CdekApi) {
    ...вызов курьера
    $cdekApi-&gt;createCallCourier
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Redaktor)]]></author>
			<pubDate>Fri, 29 Mar 2024 20:24:06 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12018/#p12018</guid>
		</item>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12015/#p12015</link>
			<description><![CDATA[<p>А подскажите пожалуйста тогда как обратиться к классу Shop\Model\DeliveryType\Cdek\CdekApi к его методу createCallCourier.<br />Пишет не указаны API</p>]]></description>
			<author><![CDATA[null@example.com (Redaktor)]]></author>
			<pubDate>Tue, 26 Mar 2024 22:09:24 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12015/#p12015</guid>
		</item>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12014/#p12014</link>
			<description><![CDATA[<p>Все экземпляры расчетных классов доставки должны получаться по цепочке из заказа.</p><p>Так как в этом случае в них происходит загрузка параметров доставки, <br />выставленных в админ.панели для конкретной доставки.</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Tue, 26 Mar 2024 12:17:23 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12014/#p12014</guid>
		</item>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12013/#p12013</link>
			<description><![CDATA[<div class="quotebox"><cite>admin пишет:</cite><blockquote><p>Вам нужно немного по другому получить объект класса Cdek2.</p><div class="codebox"><pre><code>$cdek2 = $order-&gt;getDelivery()-&gt;getTypeObject();
if ($cdek2 instanceof \Shop\Model\DeliveryType\Cdek2) {
    $cdek2-&gt;createDeliveryOrder($order);
}</code></pre></div></blockquote></div><p>Спасибо!<br />Во всех случаях обращения к внешним классам нужно проверять принадлежность или это только сдэк такой?</p>]]></description>
			<author><![CDATA[null@example.com (Redaktor)]]></author>
			<pubDate>Tue, 26 Mar 2024 10:57:34 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12013/#p12013</guid>
		</item>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12012/#p12012</link>
			<description><![CDATA[<p>Вам нужно немного по другому получить объект класса Cdek2.</p><div class="codebox"><pre><code>$cdek2 = $order-&gt;getDelivery()-&gt;getTypeObject();
if ($cdek2 instanceof \Shop\Model\DeliveryType\Cdek2) {
    $cdek2-&gt;createDeliveryOrder($order);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Tue, 26 Mar 2024 09:19:48 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12012/#p12012</guid>
		</item>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12011/#p12011</link>
			<description><![CDATA[<div class="codebox"><pre><code>use RS\Event\HandlerAbstract;
use Shop\Model\DeliveryType\Cdek2;
use Shop\Model\DeliveryType\Cdek\CdekApi;

class Handlers extends HandlerAbstract {

function init()
    {
        $this-&gt;bind(&#039;order.change&#039;);
    }

public static function orderChange($param)
{
$order = $param[&#039;order&#039;];
$api = new Cdek2();
if ($order-&gt;is_payed) {
  $deliveryOrderEx = new Cdek2();
  $deliveryOrderEx-&gt;createDeliveryOrder($order);
  }
}
}</code></pre></div><p>В итоге ошибка:<br /></p><div class="codebox"><pre><code>Исключение - &quot;Call to a member function createOrder() on null&quot;
Код ошибки:    0
Тип ошибки:    Error
Файл:    C:\OSPanel\domains\site\modules\shop\model\deliverytype\cdek2.inc.php
Строка:    627
Стек вызова:
#0 C:\OSPanel\domains\site\modules\mymodule\config\handlers.inc.php(192): Shop\Model\DeliveryType\Cdek2-&gt;createDeliveryOrder()</code></pre></div><div class="codebox"><pre><code>echo &#039;&lt;pre&gt;&#039;;var_dump($order);echo &#039;&lt;/pre&gt;&#039;;
возвращает object(Shop\Model\Orm\Order)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Redaktor)]]></author>
			<pubDate>Fri, 22 Mar 2024 11:32:21 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12011/#p12011</guid>
		</item>
		<item>
			<title><![CDATA[Re: Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12010/#p12010</link>
			<description><![CDATA[<p>Вы уверены, что у вас в переменной $order - есть объект заказа?<br />Покажите код вашего обработчика в handlers.</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Fri, 22 Mar 2024 10:52:38 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12010/#p12010</guid>
		</item>
		<item>
			<title><![CDATA[Обращение к классу из своего модуля в handlers]]></title>
			<link>http://forum.readyscript.ru/post/12009/#p12009</link>
			<description><![CDATA[<p>Приветствую!<br />На событие изменения заказа и handlers пытаюсь вызвать класс Cdek2.<br />Подключил его через use<br />создаю экземпляр $api = new Cdek2()<br />обращаюсь к методу $api-&gt;createDeliveryOrder($order), в котором содержится другой класс createOrder($order) , но возникает ошибка, что передается null в createOrder, но я же передаю заказ.</p><p>Подскажите пожалуйста, что я делаю не то и как обратиться правильно из стороннего модуля.</p><p>Спасибо</p>]]></description>
			<author><![CDATA[null@example.com (Redaktor)]]></author>
			<pubDate>Fri, 22 Mar 2024 10:41:48 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/12009/#p12009</guid>
		</item>
	</channel>
</rss>
