<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Не могу добавить кнопку в buttomToolbar]]></title>
	<link rel="self" href="http://forum.readyscript.ru/feed/atom/topic/473/" />
	<updated>2015-09-21T09:37:53Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/473/ne-mogu-dobavit-knopku-v-buttomtoolbar/</id>
		<entry>
			<title type="html"><![CDATA[Re: Не могу добавить кнопку в buttomToolbar]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1980/#p1980" />
			<content type="html"><![CDATA[<p>Всё достаточно просто Вам нужен хук для метода в контроллере.<br />Вот пример для одного из моих модулей:<br /></p><div class="codebox"><pre><code>&lt;?php
namespace ArticleToEmail\Config;

use \RS\Orm\Type,
\RS\Html\Toolbar\Button;

/**
* Класс предназначен для объявления событий, которые будет прослушивать данный модуль и обработчиков этих событий.
*/
class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this
            -&gt;bind(&#039;controller.exec.shop-admin-orderctrl.edit&#039;);
    }
    
    /**
    * Добавляем кнопку вниз
    * 
    * @param \RS\Controller\Admin\Helper\CrudCollection $helper
    */
    public static function controllerExecShopAdminOrderСtrlEdit(\RS\Controller\Admin\Helper\CrudCollection $helper){
        //Если редактирование происходит, то покажем кнопку
        $id = \RS\Http\Request::commonInstance()-&gt;request(&#039;id&#039;, TYPE_INTEGER, false);
        if ($id){
            /**
            * @var \RS\Html\Toolbar\Element
            */
            $bottomToolBar = $helper[&#039;bottomToolbar&#039;]; //Получаем сформированную нижнюю панель
            $router = \RS\Router\Manager::obj(); //Объект роутера
            $bottomToolBar-&gt;addItem(new Button\Save($router-&gt;getAdminUrl(&#039;send&#039;, array(), &#039;articletoemail-ctrl&#039;), t(&#039;Отправить подписчикам&#039;), array( //Добавление кнопки
                &#039;attr&#039;=&gt; array(
                    &#039;class&#039; =&gt; &#039;crud-add&#039;
                )
            )));
            $helper[&#039;bottomToolbar&#039;] = $bottomToolBar; 
        }
        
    }
    
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-09-21T09:37:53Z</updated>
			<id>http://forum.readyscript.ru/post/1980/#p1980</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Не могу добавить кнопку в buttomToolbar]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1969/#p1969" />
			<content type="html"><![CDATA[<p>Здравствуйте. В данный момент не могу дописать модуль т.к. не могу добавить кнопку в нижний тулбар.<br />Пытаюсь сделать хуками через exec, но не получается т.к. добавленная кнопка перезатирается в основном хэпере.<br />Например хочу добавить кнопку при редактировании заказа. Создаю <strong>controller.exec.shop-admin-orderctrl.edit</strong>, далее в этой функции делаю что то типа:<br /></p><div class="codebox"><pre><code>public static function controllerExecShopAdminOrderCtrlEdit(\RS\Controller\Admin\Helper\CrudCollection $helper)
    {
        $helper[&#039;bottomToolbar&#039;]
            -&gt;addItem(new ToolbarButton\Button(&#039;/asd&#039;, t(&#039;Новая кнопка&#039;)), &#039;newbutton&#039;);
    }</code></pre></div><p>Но получается так, что сначала выполняется мой хук, потом основной метод, который все перезатирает<br /></p><div class="codebox"><pre><code>orderctrl.inc.php
...
$helper-&gt;setBottomToolbar($this-&gt;buttons(array(&#039;save&#039;, &#039;cancel&#039;)));
...</code></pre></div><p>Вторая проблема заключается в том, что не могу добавить кнопки в карточку заказа, в админке, в печатные формы т.к. там кнопка <strong>печать</strong> зашита в шаблон.<br />Как быть?</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>http://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-09-19T13:53:50Z</updated>
			<id>http://forum.readyscript.ru/post/1969/#p1969</id>
		</entry>
</feed>
