Не выводятся значения superboxselect
Возникла такая проблема. Пытаюсь вывести множественный выбор в выпадающем списке в профиле пользователя:
Тип поля:
P.S. В БД все пишется корректно: '[«1»,«2»]'
Так же не понятен тот момент как сделать подгрузку значений при обновлении страницы, поскольку значениями являются id а выводом должно быть value
Тип поля:
'building' => array(
'dbtype' => 'varchar',
'precision' => '255',
'phptype' => 'json',
'null' => true,
),
В результате выводятся 2 тега но пустые без текста. P.S. В БД все пишется корректно: '[«1»,«2»]'
Так же не понятен тот момент как сделать подгрузку значений при обновлении страницы, поскольку значениями являются id а выводом должно быть value
Комментарии: 1
Код на событие
case "OnUserFormPrerender":
if (!$modx->getCount('modPlugin', array('name' => 'AjaxManager', 'disabled' => false))) {
$data['building'] = $user->Profile->building ?: '';
$modx->controller->addHtml("
<script type='text/javascript'>
MODx.combo.Building = function(config) {
config = config || {};
Ext.applyIf(config,{
xtype: 'superboxselect',
allowBlank: false,
msgTarget: 'under',
allowAddNewData: true,
addNewDataOnBlur: false,
resizable: true,
name: config.name || 'building',
anchor: '100%',
displayField: 'name',
valueField: 'id',
typeAhead: true,
store: new Ext.data.JsonStore({
id: (config.name || 'building') + '-store',
root: 'results',
autoLoad: true,
autoSave: false,
totalProperty: 'name',
fields: ['id','name'],
url: '/assets/components/svgcreator/connector.php',
baseParams: {
action: 'mgr/floor/getlist',
key: config.name,
},
}),
extraItemCls: 'x-tag',
expandBtnCls: 'x-form-trigger',
clearBtnCls: 'x-form-trigger',
renderTo: Ext.getBody(),
editable: true,
triggerAction: 'all',
mode: 'remote',
hideMode: 'offsets',
pageSize: 20,
listeners: {
newitem: function(bs,v, f) {bs.addItem({tag: v});},
},
});
config.name += '[]';
MODx.combo.Building.superclass.constructor.call(this,config);
};
Ext.extend(MODx.combo.Building,Ext.ux.form.SuperBoxSelect);
Ext.reg('modx-combo-building',MODx.combo.Building);
Ext.ComponentMgr.onAvailable('modx-user-tabs', function() {
this.on('beforerender', function() {
var leftCol = this.items.items[0].items.items[0].items.items[0];
leftCol.items.insert(12, 'modx-user-building', new MODx.combo.Building({
id: 'modx-user-building',
name: 'building',
fieldLabel: 'Объекты',
xtype: 'modx-combo-building',
anchor: '100%',
maxLength: 100,
value: {$data['building']},
}));
});
});
</script>
");
}
break;
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.