Тема: Расширение функционала
Добрый день!
Только начал разбираться с движком, понадобилось расширить функционал формы редактирования заказа в Админке, а именно - нужно дополнительное текстовое поле. Почитал статью и на примере расширения карточки продукта написал добавление поля к Заказу:
handlers.inc.php
<?php
namespace Test\Config;
use RS\Orm\Type as OrmType;
/**
* Класс содержит обработчики событий, на которые подписан модуль
*/
class Handlers extends \RS\Event\HandlerAbstract
{
/**
* Добавляет подписку на события
*
* @return void
*/
function init()
{
$this
->bind('getroute') //событие сбора маршрутов модулей
->bind('orm.init.shop-order');
}
/**
* Возвращает маршруты данного модуля. Откликается на событие getRoute.
* @param array $routes - массив с объектами маршрутов
* @return array of \RS\Router\Route
*/
public static function getRoute(array $routes)
{
$routes[] = new \RS\Router\Route('test-front-ctrl',
array(
'/test/'
), null, 'Роут модуля Test');
return $routes;
}
/**
* Обработчик события "Инициализация ORM объекта Заказ".
* Не забудьте переустановить модуль каталог через меню Веб-сайт->Настройка модулей. Каталог товаров -> переустановить
*
* @param \Catalog\Model\Orm\Order
* @return void
*/
public static function ormInitShopOrder(\Shop\Model\Orm\Order $orm_order)
{
$orm_order->getPropertyIterator()->append(array( //Добавляем свойства к объекту
'Тестовая закладка', //Закладка, появится в форме редактирования заказа
'test_property' => new OrmType\Varchar(array( //Тип поля.
'maxLength' => 14, // Длина поля в базе
'description' => 'Тестовое поле', //Название поля
)),
));
}
}
переустановил модуль, затем модуль магазина, в бд поле появилось - а при редактировании заказа его нигде нет
не подскажите, что делаю не так...