Пользовался руководствами от сюда: bezumkin.ru/training/course1/2202/
Sendex.combo.User = function(config) { config = config || {}; Ext.applyIf(config,{ name: 'user_id' ,fieldLabel: _('sendex_subscriber') ,hiddenName: config.name || 'user_id' ,displayField: 'username' ,valueField: 'id' ,anchor: '99%' ,fields: ['username','id','fullname'] // Количество результатов на странице ,pageSize: 20 // Используем родной процессор MODX ,url: MODx.config.connectors_url + 'security/user.php' // Комбо можно редактировать, то есть - искать юзеров ,editable: true // Можно оставлять пустым ,allowBlank: true // Текст по умолчанию ,emptyText: _('sendex_select_user') // Данные для отправки процессору ,baseParams: { action: 'getlist' ,combo: 1 } // Шаблон оформления, похоже на Smarty ,tpl: new Ext.XTemplate('' +'<tpl for="."><div class="sendex-list-item">' +'<span><small>({id})</small> <b>{username}</b> ({fullname})</span>' +'</div></tpl>',{ compiled: true }) // Какой элемент является селекторо. То есть, выбор будет при клике на этот элемент ,itemSelector: 'div.sendex-list-item' }); Sendex.combo.User.superclass.constructor.call(this,config); }; Ext.extend(Sendex.combo.User,MODx.combo.ComboBox); Ext.reg('sendex-combo-user',Sendex.combo.User);
,tbar: [{ xtype: 'sendex-combo-user' // Имя поля ,name: 'user_id' ,hiddenName: 'user_id' // Ширина - 50% ,width: '50%' ,listeners: { // При выборе позиции нужно запустить метод addSubscriber таблицы select: {fn: this.addSubscriber, scope: this} } ]}
вроде бы практически аналогично и у меня. Разьве так не правильно? Потом добавлять xtype ??