<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Добавление нового метода к объекту товара.]]></title>
		<link>http://forum.readyscript.ru/topic/948/dobavlenie-novogo-metoda-k-obektu-tovara/</link>
		<atom:link href="http://forum.readyscript.ru/feed/rss/topic/948/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Добавление нового метода к объекту товара.».]]></description>
		<lastBuildDate>Tue, 11 Oct 2016 08:21:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Добавление нового метода к объекту товара.]]></title>
			<link>http://forum.readyscript.ru/post/4980/#p4980</link>
			<description><![CDATA[<p>Все, спасибо! Не правильно был назван файл с классом CatalogProduct<br />было: catalogproduct.php, а надо было catalogproduct.inc.php</p>]]></description>
			<author><![CDATA[null@example.com (Максим)]]></author>
			<pubDate>Tue, 11 Oct 2016 08:21:05 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4980/#p4980</guid>
		</item>
		<item>
			<title><![CDATA[Re: Добавление нового метода к объекту товара.]]></title>
			<link>http://forum.readyscript.ru/post/4978/#p4978</link>
			<description><![CDATA[<p>Сделал все по инструкции. Ошибка должна выводиться на самой странице? Выводится пустая страница, а в консоли - 500 (Internal Server Error).</p>]]></description>
			<author><![CDATA[null@example.com (Максим)]]></author>
			<pubDate>Tue, 11 Oct 2016 08:05:35 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4978/#p4978</guid>
		</item>
		<item>
			<title><![CDATA[Re: Добавление нового метода к объекту товара.]]></title>
			<link>http://forum.readyscript.ru/post/4976/#p4976</link>
			<description><![CDATA[<p>Ну вы ошибки включили? Что ошибка говорит?</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Tue, 11 Oct 2016 07:58:33 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4976/#p4976</guid>
		</item>
		<item>
			<title><![CDATA[Re: Добавление нового метода к объекту товара.]]></title>
			<link>http://forum.readyscript.ru/post/4973/#p4973</link>
			<description><![CDATA[<p>она ниже, вот полный код из файла handlers.inc.php:</p><div class="codebox"><pre><code>&lt;?php

namespace Custom\Config;
use Exchange\Model\Importers\Catalog;
use \RS\Orm\Type as OrmType;

/**
* Класс предназначен для объявления событий, которые будет прослушивать данный модуль и обработчиков этих событий.
*/
class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this
            -&gt;bind(&#039;orm.init.shop-order&#039;)
            -&gt;bind(&#039;initialize&#039;);
    }

    /**
     * Подключаем методы к объекту товара из стороннего модуля
     */
    public static function initialize()
    {
        \Catalog\Model\Orm\Product::attachClassBehavior(new \Custom\Model\Behavior\CatalogProduct);
    }

    /**
     * Расширяем объект заказа
     *
     * @param \Shop\Model\Orm\Order $order - объект закзаа
     */
    public static function ormInitShopOrder(\Shop\Model\Orm\Order $order)
    {
        $order-&gt;getPropertyIterator()-&gt;append(array(
            &#039;order_post_id&#039; =&gt; new OrmType\Varchar(array(
                &#039;maxLength&#039; =&gt; &#039;50&#039;,
                &#039;description&#039; =&gt; t(&#039;Идентификатор отправления&#039;),
            )),
            &#039;delivery_cost&#039; =&gt; new OrmType\Decimal(array(
                &#039;maxLength&#039; =&gt; &#039;15&#039;,
                &#039;decimal&#039; =&gt; 2,
                &#039;description&#039; =&gt; t(&#039;Стоимость доставки&#039;),
            )),
        ));
    }
}</code></pre></div><p>Модуль был создан ранее и с расширением объекта Заказ справлялся. Проблемы начались после добавления хука -&gt;bind(&#039;initialize&#039;) и соответствующей функции</p>]]></description>
			<author><![CDATA[null@example.com (Максим)]]></author>
			<pubDate>Tue, 11 Oct 2016 07:52:50 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4973/#p4973</guid>
		</item>
		<item>
			<title><![CDATA[Re: Добавление нового метода к объекту товара.]]></title>
			<link>http://forum.readyscript.ru/post/4971/#p4971</link>
			<description><![CDATA[<p>Во первых включите отображение ошибок <br /><a href="https://readyscript.ru/faq/#faq-errors">https://readyscript.ru/faq/#faq-errors</a></p><p>А во вторых дело видимо в <br /></p><div class="codebox"><pre><code>-&gt;bind(&#039;orm.init.shop-order&#039;)</code></pre></div><p>У Вас хук объявлен, а функции не вижу.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Tue, 11 Oct 2016 07:51:00 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4971/#p4971</guid>
		</item>
		<item>
			<title><![CDATA[Добавление нового метода к объекту товара.]]></title>
			<link>http://forum.readyscript.ru/post/4969/#p4969</link>
			<description><![CDATA[<p>Добрый день! <br />При попытке расширить поведение ORM-объекта Product возникли сложности.<br />Исходя из того, насколько я понял видеоурок на эту тему - мною сделано следующее:</p><p>1. В стороннем модуле Custom в классе handlers.inc.php:<br /></p><div class="codebox"><pre><code>    function init()
    {
        $this
            -&gt;bind(&#039;orm.init.shop-order&#039;)
            -&gt;bind(&#039;initialize&#039;);
    }

    /**
     * Подключаем методы к объекту товара из стороннего модуля
     */
    public static function initialize()
    {
        \Catalog\Model\Orm\Product::attachClassBehavior(new \Custom\Model\Behavior\CatalogProduct);
    }</code></pre></div><p>2. В \custom\model\behavior\catalogproduct.php:<br /></p><div class="codebox"><pre><code>namespace Custom\Model\Behavior;
use RS\Behavior\BehaviorAbstract;

class CatalogProduct extends BehaviorAbstract
{
    /**
     * Возвращает массив товаров с с таким же базовым артикулом
     *
     */
    function getProductsLikeThis()
    {
        return &quot;test&quot;;
    }

}</code></pre></div><p>Вроде бы все по инструкции, но при очистке кэша - 500 (Internal Server Error)<br />До написания необходимой функции и использования ее в шаблоне - соответственно не дошел, так как уперся в данную проблему. Помогите найти ошибку.</p>]]></description>
			<author><![CDATA[null@example.com (Максим)]]></author>
			<pubDate>Tue, 11 Oct 2016 04:58:31 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4969/#p4969</guid>
		</item>
	</channel>
</rss>
