Я внимательно следовал документации расширил стандартный компонент MODx.combo.ComboBox с помощью простого кода, затем вставил компонент в моё MODx.window. Ниже код моего комбокса
imp.panel.DirList = function(config) {
config = config || {};
Ext.applyIf(config,{
baseParams: {
action: 'mgr/getcategory'
},
autoLoad: true,
fields: ['id', 'pagetitle'],
idProperty: 'id',
url: '/assets/components/importer/connector.php',
valueField: 'id',
displayField: 'pagetitle',
width: 300
});
imp.panel.DirList.superclass.constructor.call(this,config);
};
Ext.extend(imp.panel.DirList, MODx.combo.ComboBox);
Ext.reg('imp-combo-home', imp.panel.DirList);
Я думаю всё более чем прозрачно, процессор написан и комбокс успешно выводит список документов, но вот в чём трабла: на сервер отправляется pagetitle, а не id.
Ковыряясь в этом вопросе я, с помощью нехитрых махинаций, создал компонент в сфере window, а затем добавил его на панель - это позволило мне работать с компонентом из консоли браузера без каких либо затруднений.
Не суть подход, суть результат.
Если в консоли выполнить метод getValue() то мы получаем ID выбранного документа, то же значение содержит поле value. Заголовок же выбранного документа возвращает метод getRawValue() - этот результат меня не интересует, но именно он отправляется на сервер, хотя, как вы могли заметить. Как быть, как заставить отправлять на сервер поле value а не rawData ??? ЧЯДНТ