miniShop. Замена поля add1 на список


Делаю по аналогии с тегами. Добавил в home.panel.js
miniShop.combo.add1 = function(config) {
	config = config || {};
	Ext.applyIf(config,{
		xtype:'superboxselect'
		,allowBlank: true
		,msgTarget: 'under'
		,allowAddNewData: false
		,addNewDataOnBlur : false
		,resizable: true
		,name: 'add1[]'
		,anchor:'100%'
		,minChars: 3
		,store:new Ext.data.JsonStore({
			 id:'add1-store'
			,root:'results'
			,autoLoad: true
			,autoSave: false
			,totalProperty:'total'
			,fields:['value', 'text']
			,url: miniShop.config.connector_url
			,baseParams: {action: 'mgr/goods/getbrands'}
		})
		,mode: 'remote'
		,displayField: 'text'
		,valueField: 'value'
		,triggerAction: 'all'
		,extraItemCls: 'x-tag'
	});
	miniShop.combo.add1.superclass.constructor.call(this,config);
};
Ext.extend(miniShop.combo.add1,Ext.ux.form.SuperBoxSelect);
Ext.reg('ms-superbox-add1',miniShop.combo.add1);

В goods.grid.js поменял
,{xtype: 'textfield',name: 'add1',fieldLabel: _('ms.goods.add1'),anchor: '100%'}
на
,{xtype: 'ms-superbox-add1', name: 'add1[]', value: config.record.add1, fieldLabel: _('ms.goods.add1')}

В update.php и create.php поменял
$res->set('add1', $scriptProperties['add1']);
на
$res->set('add1', implode(',', $scriptProperties['add1'] ));

И вроде всё работает нормально, данные через запятую сохраняются в базу, но у списка не выставляются значения по-умолчанию. У тегов выставляются, а здесь нет. Чего не хватает?
Артем
26 января 2013, 04:18
modx.pro
1
1 051
0

Комментарии: 2

Василий Наумкин
26 января 2013, 08:53
0
Думаю, нужно еще и чтобы процессор get выдавал в это поле не строку а массив в таком формате:
array(
	array('tag' => 'value1')
	array('tag' => 'value2'),
	array('tag' => 'value3'),
);

Если что-то не получится, смотри внимательно, какие данные приходят в config.record.tags.
    Артем
    27 января 2013, 02:12
    0
    Да, это помогло. И ещё allowAddNewData: true было нужно.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2