Тема: В модуле Каталог заменить колонку[Решено]
В модуле каталог, перегрузить колонку Название
modules/catalogcustom/config/file.inc.php
<?php
namespace Catalogcustom\Config;
use \RS\Orm\Type;
class File extends \RS\Orm\ConfigObject
{
}
modules/catalogcustom/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>
modules/catalogcustom/config/handlers.inc.php
<?php
namespace Catalogcustom\Config;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this->bind('controller.exec.catalog-admin-ctrl.index');
}
/**
* Обработчик события
*
* @param \RS\Controller\Admin\Helper\CrudCollection $helper - Хелпер визульной части админ. панели
* @return void
*/
public static function controllerExecCatalogAdminCtrlIndex(\RS\Controller\Admin\Helper\CrudCollection $helper)
{
/**
* @var \RS\Html\Table\Control - объект: Менеджер таблицы
*/
$table_control = $helper['table'];
$table = $table_control->getTable(); //Здесь RS\Html\Table\Element
$table->removeColumn(1); //1 - это номер колонки, укажите здесь свою. Нумерация начинается с 0.
//Далее добавляете колонку
$new_column = new \RS\Html\Table\Type\Usertpl('title', t('Название'), '%catalogcustom%/title.tpl');
$table->addColumn($new_column, 1); //Добавляете колонку $new_column в позицию 1
}
}
Изменить название колонки
modules/catalogcustom/config/handlers.inc.php
<?php
namespace Catalogcustom\Config;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this->bind('controller.exec.catalog-admin-ctrl.index');
}
/**
* Обработчик события
*
* @param \RS\Controller\Admin\Helper\CrudCollection $helper - Хелпер визульной части админ. панели
* @return void
*/
public static function controllerExecCatalogAdminCtrlIndex(\RS\Controller\Admin\Helper\CrudCollection $helper)
{
/**
* @var \RS\Html\Table\Control - объект: Менеджер таблицы
*/
$table_control = $helper['table'];
$columns = $table_control->getTable()->getColumns(); //Получаем колонки таблицы
$column_user_tpl = $columns[1]; // Тут объект RS\Html\Table\Type\Usertpl
// Соответственно в переменной $column_user_tpl, вам доступны только те методы, что есть в классе RS\Html\Table\Type\Usertpl
// Все возможные методы данного класса можно посмотреть в файле /core/rs/html/table/type/usertpl.inc.php
// Видим, что класс Usertpl является потомком AbstractType, соответственно методы также нужно смотреть в
// RS\Html\Table\Type\AbstractType
//Читаем описания к методам, находим, что чтобы установить заголовок нужно вызвать setTitle
$column_user_tpl->setTitle('Новый заголовок колонки');
}
}