Блог/Доработка компонента Batcher

Доработка компонента Batcher

Автор: Кудашев Сергей

Наверное единственное, чего мне реально не хватает в MODX Revolution после Evolution, это модуля Doc Manager, который позволял творить чудеса с атрибутами документов по простой маске. К сожалению реализовать этот прекрасный компонент никто не взялся, поэтому ему была найдена замена.

В качестве замены компоненту Doc Manager в Evolution был найден компонент Batcher для MODX Revolution. Компонент не настолько крут, но его вполне хватает для работы с атрибутами документов. Единственной ложкой догтя в работе компонента была невозможность сортировки по родителю (полю parent), которое я часто использовал, изменяя атрибуты потомков какого-то документа.

Помучившись какое-то время решил поправить это досадное недоразумение, кстати заодно посмотрел как устроен ExtJS на котором написана большая часть админки MODX Revolution.

Собственно за вывод таблицы документов при переходе на Batcher в админке отвечает файл /assets/components/batcher/js/widgets/resource.grid.js. В данном файле мы находим JS код, который немного поправим, чтобы начать отображать родителя документов. Для этого нам надо поменять код в двух местах:

,fields: ['id','pagetitle','template','templatename','alias','deleted','published','createdon','editedon','hidemenu']
на
,fields: ['id','parent','pagetitle','template','templatename','alias','deleted','published','createdon','editedon','hidemenu']

, после чего вставить после этого кода

 ,columns: [this.sm,{
 header: _('id')
 ,dataIndex: 'id'
 ,sortable: true
 ,width: 60
 },

следующий код:

 ,{
 header: _('parent')
 ,dataIndex: 'parent'
 ,sortable: true
 ,width: 60
 },

Все, чистим папку /core/cache от закешированных файлов и чистим кеш в админке. Заходим в Batcher и наслаждаемся возвращенной возможностью работать с документами по родителю.

UPDATE: для упрощения процесса выложил патч файл для Batcher.

Комментарии (0)