<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Расширение функционала]]></title>
	<link rel="self" href="http://forum.readyscript.ru/feed/atom/topic/1223/" />
	<updated>2017-04-24T07:54:14Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/1223/rasshirenie-funktsionala/</id>
		<entry>
			<title type="html"><![CDATA[Re: Расширение функционала]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/6938/#p6938" />
			<content type="html"><![CDATA[<p>В RS 3.0 будут добавлены хуки и правильная возможность расширения заказа, без геммороя. Поэтому пока в Вашем случае, нужно только перегрузить шаблон заказа полностью.</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-04-24T07:54:14Z</updated>
			<id>http://forum.readyscript.ru/post/6938/#p6938</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Расширение функционала]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/6931/#p6931" />
			<content type="html"><![CDATA[<p>вобщем разобрался, где-то на форуме прочитал что страница заказа одна из неизменяемых, только если руками править и вставлять в текущий шаблон, попробовал - помогло )))</p>]]></content>
			<author>
				<name><![CDATA[Евгений]]></name>
				<uri>http://forum.readyscript.ru/user/657/</uri>
			</author>
			<updated>2017-04-23T11:22:47Z</updated>
			<id>http://forum.readyscript.ru/post/6931/#p6931</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Расширение функционала]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/6930/#p6930" />
			<content type="html"><![CDATA[<p>Я так предполагаю, что нужно повесить хук на контроллер OrderCtrl, типа:<br /></p><div class="codebox"><pre><code>bind(&#039;controller.exec.shop-admin-orderctrl.index&#039;)</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>bind(&#039;controller.exec.shop-admin-orderctrl.edit&#039;)</code></pre></div><p>и потом в обработчике:<br /></p><div class="codebox"><pre><code>public static function controllerExecShopAdminOrderctrlIndex(\RS\Controller\Admin\Helper\CrudCollection $helper)
{

}</code></pre></div><p>как то добавить нужное мне поле, только вот ума не приложу как это сделать</p>]]></content>
			<author>
				<name><![CDATA[Евгений]]></name>
				<uri>http://forum.readyscript.ru/user/657/</uri>
			</author>
			<updated>2017-04-23T08:38:26Z</updated>
			<id>http://forum.readyscript.ru/post/6930/#p6930</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Расширение функционала]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/6928/#p6928" />
			<content type="html"><![CDATA[<p>Добрый день!</p><p>Только начал разбираться с движком, понадобилось расширить функционал формы редактирования заказа в Админке, а именно - нужно дополнительное текстовое поле. Почитал статью и на примере расширения карточки продукта написал добавление поля к Заказу:</p><p>handlers.inc.php<br /></p><div class="codebox"><pre><code>&lt;?php
namespace Test\Config;
use RS\Orm\Type as OrmType;

/**
* Класс содержит обработчики событий, на которые подписан модуль
*/
class Handlers extends \RS\Event\HandlerAbstract
{
    /**
    * Добавляет подписку на события
    * 
    * @return void
    */
    function init()
    {
        $this
            -&gt;bind(&#039;getroute&#039;)  //событие сбора маршрутов модулей
            -&gt;bind(&#039;orm.init.shop-order&#039;);
    }
    
    /**
    * Возвращает маршруты данного модуля. Откликается на событие getRoute.
    * @param array $routes - массив с объектами маршрутов
    * @return array of \RS\Router\Route
    */
    public static function getRoute(array $routes) 
    {        
        $routes[] = new \RS\Router\Route(&#039;test-front-ctrl&#039;,
        array(
            &#039;/test/&#039;
        ), null, &#039;Роут модуля Test&#039;);
        
        return $routes;
    }

    /**
    * Обработчик события &quot;Инициализация ORM объекта Заказ&quot;.
    * Не забудьте переустановить модуль каталог через меню Веб-сайт-&gt;Настройка модулей. Каталог товаров -&gt; переустановить
    * 
    * @param \Catalog\Model\Orm\Order
    * @return void
    */
    public static function ormInitShopOrder(\Shop\Model\Orm\Order $orm_order)
    {
        $orm_order-&gt;getPropertyIterator()-&gt;append(array( //Добавляем свойства к объекту
            &#039;Тестовая закладка&#039;, //Закладка, появится в форме редактирования заказа
             
            &#039;test_property&#039; =&gt; new OrmType\Varchar(array( //Тип поля.
                &#039;maxLength&#039; =&gt; 14, // Длина поля в базе 
                &#039;description&#039; =&gt; &#039;Тестовое поле&#039;, //Название поля                
            )),
        ));
    }

}</code></pre></div><p>переустановил модуль, затем модуль магазина, в бд поле появилось - а при редактировании заказа его нигде нет</p><p>не подскажите, что делаю не так...</p>]]></content>
			<author>
				<name><![CDATA[Евгений]]></name>
				<uri>http://forum.readyscript.ru/user/657/</uri>
			</author>
			<updated>2017-04-22T11:48:57Z</updated>
			<id>http://forum.readyscript.ru/post/6928/#p6928</id>
		</entry>
</feed>
