Создание собственного рендерера для ячейки Grid в дизайнере интерфейсов
Создать свой редерер очень просто, рассмотрим два варианта:
- рендерер ячейки на основе ключа словаря (выводим значение) (Dvelum 0.9 и выше);
- собственный рендерер.
Чтобы добавить свой рендерер в дизайнер интерфейсов, достаточно объявить его класс.
Создадим папку для рендеров проекта www/system/library/Ext/Component/Renderer/Myproject
Создадим файл www/system/library/Ext/Component/Renderer/Myproject/Status.php
(для примера используем словарь task, который описывает статусы фоновой задачи)
<?php
class Ext_Component_Renderer_Myproject_Status extends Ext_Component_Abstract_Renderer_Dictionary{
/*
* Имя словаря
*/
protected $_name = 'task';
}
Рендерер словарного значения готов.
Создадим собственный рендерер:
<?php
class Ext_Component_Renderer_Myproject_Custom extends Ext_Component_Renderer{
public function __toString() {
return 'function(value, metaData, record, rowIndex, colIndex, store){
return "Custom renderer " + value;
}';
}
}
Так же возможно вернуть имя функции:
<?php
class Ext_Component_Renderer_Myproject_Custom extends Ext_Component_Renderer{
public function __toString(){
return 'app.creatorRenderer';
}
}