В компоненте расширяю modResource. В extjs соответственно наследую к примеру MODx.page.UpdateResource.
Я достаточно давно применяю подобную практику для добавления необходимого ф-ла (доп. поля, объекты, вкладки) в стандартный интерфейс создания/редактирования ресурсов.
Обычно для сохранения и создания я пользовался стандартными процессорами (model/modx/processors/resource/update.class.php, model/modx/processors/resource/create.class.php). Но сегодня мне понадобилось использовать собственный процессор который просто расширяет modResourceUpdateProcessor.
Ext.extend(carManager.page.UpdateModification,MODx.page.UpdateResource,{
getButtons: function(cfg) {
var btns = [];
if (cfg.canSave == 1) {
btns.push({
process: 'resource/update'
,text: '<i class="'+ ('icon icon-check') + '"></i> ' + _('cm_btn_save')
,method: 'remote'
,checkDirty: cfg.richtext || MODx.request.activeSave == 1 ? false : true
,cls: 'primary-button'
,keys: [{
key: MODx.config.keymap_save || 's'
,ctrl: true
}]
});
Как видно при нажатии кнопки «сохранить» мы отправим весь нас паровоз данных процессору model/modx/processors/resource/update.class.php. Но я ни как не могу понять, как мне воспользоваться моим процессором который лежит в папке процессоров моего компонента (carManager/core/components/carmanager/processors/mgr/modification/update.class.php)
Я мог бы решить проблему в лоб. Создать процессоры в model/modx/processors/ или использовать плагин. Но это все не правильно. Чувствую я есть более красивое решение проблемы.