Тема: Перегрузка модуля Магазин [Решено]
Здравствуйте. Скажите, каким образом можно вносить изменения в файл orderctrl.inc.php. А именно мне нужно внести изменения вот в эту строчку. В ней мне нужно поле totalcost поменять на созданное мною.
new Filter\Type\Text('totalcost', t('Сумма'), array('showtype' => true))
Решение:
modules/config/file.inc.php
<?php
namespace Modules\Config;
use \RS\Orm\Type;
class File extends \RS\Orm\ConfigObject
{
}
modules/config/handlers.inc.php
<?php
namespace Modules\Config;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this
->bind('controller.exec.shop-admin-orderctrl.index');
}
/**
* @param \RS\Controller\Admin\Helper\CrudCollection $controller - объект CRUD контроллера
*/
public static function controllerExecShopAdminOrderctrlIndex($controller)
{
/**
* @var $filter RS\Html\Filter\Control
*/
$filter = $controller['filter'];
$lines = $filter->getContainer()->getLines();
$lines[0]->addItem(new \RS\Html\Filter\Type\Text('new_cost', t('Сумма'), array('showtype' => true)));
}
}
modules/config/module.xml
<?xml version="1.0" encoding="utf-8"?>
<config>
<defaultValues>
<name multilanguage="true">Изменение в модуле магазин</name>
<description multilanguage="true">Изменяет поле поиска в модуле магазин</description>
<version>1.0.0.0</version>
<author>My mod</author>
</defaultValues>
</config>