vasenin26 16 ноября 2014 0 3
Я внимательно следовал документации расширил стандартный компонент 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 ??? ЧЯДНТ
3 комментария
Fi1osof1
Fi1osof 16 ноября 2014г в 19:14 #
Я так понимаю у вас с самим комбо все ОК, то есть само комбо работает корректно. Но скорее всего оно в рамках какого-то другого компонента, и данные на сервер шлются всей формы (включая и данные этого комбобокса). Затык именно в получении данных от этого комбобокса.
1. Выложите на гист или типа того листинг всего компонента.
2. Попробуйте комбе задать hiddenName: 'id'.
v
vasenin26 16 ноября 2014г в 19:20 #
В точку! Заменил параметр name на hiddenName - теперь на сервер ходит именно id а не pagetitle. Ларчик просто открывался, хоть и не явно совсем....
Fi1osof1
Fi1osof 16 ноября 2014г в 19:21 #
Это такой прикол именно с некоторыми форм-элементами (в том числе комбобокса).
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.