dynamicdropdown список множественного выбора

Oct 9, 2016

Добрый вечер! Прошу помощи с dynamicdropdown Установил dynamicdropdown от Bruno — этот компонент реализует зависимые выпадающие списки в админке. Те выбираем ресурс в списке select и в другом списке multiselect появляются все дочерние ресурсы. Проблема заключается в том что в multiselect не показываются сохраненные названия сохраненных ресурсов. Предполагаю что проблема заключается в настройках созданного типа tv (dynamicdropdown_multi) Ниже прилагаю код настроек tv, все кто может помочь буду очень благодарен, уже 3 дня не могу разобраться.

<input type="hidden" id="original{$ddId}" name="original{$tv->id}" value="{$tv->get('value')|escape}" />
{$tv->get('value')}
<div id="div_{$ddId}">
 
</div>



// <![CDATA[
{literal}
MODx.combo.{/literal}{$ddId}{literal} = function(config) {
    config = config || {};
    Ext.applyIf(config,{{/literal}
        name: '{$ddId}'
        ,id: 'select_{$ddId}'
         ,extraItemCls: 'x-tag'
        ,expandBtnCls: 'x-form-trigger'
        ,clearBtnCls: 'x-form-trigger'
        ,width: 400
        ,hiddenName: 'tv{$tv->id}[]'
        ,renderTo: 'div_{$ddId}'
        ,triggerAction: 'all'
        ,mode: 'remote'
        ,children: Ext.util.JSON.decode('{$children}')
        ,parents: Ext.util.JSON.decode('{$parents}')          
        {if $params.title},title: '{$params.title}'{/if}
        {if $params.listWidth},listWidth: {$params.listWidth}{/if}
        ,maxHeight: {if $params.maxHeight}{$params.maxHeight}{else}300{/if}
        {if $params.typeAhead}
            ,editable: true
            ,typeAhead: true
            ,typeAheadDelay: {if $params.typeAheadDelay && $params.typeAheadDelay != ''}{$params.typeAheadDelay}{else}250{/if}
        {else}
            ,editable: false
            ,typeAhead: true
            ,searchible: true
        {/if}
        {if $params.listEmptyText}
            ,listEmptyText: '{$params.listEmptyText}'
        {/if}
        ,forceSelection: {if $params.forceSelection && $params.forceSelection != 'false'}true{else}false{/if}
        ,initiated: true
        ,allowBlank: {if $params.allowBlank == 1 || $params.allowBlank == 'true'}true{else}false{/if}
		,resizable: false
        ,pageSize: 0		
        ,url: {$connector_path}
        ,fields: ['id','name']
        ,displayField: 'name'
        ,valueField: 'id'
        {if $params.valueDelimiter}
            ,valueDelimiter: '{$params.valueDelimiter}'
        {/if}        
      
        {literal}
        ,baseParams: {
		    action: '{/literal}{$action}{literal}'
            ,resource_id: '{/literal}{$resource.id}{literal}' 
            ,object_id: '{/literal}{$object_id}{literal}'
            ,tvname: '{/literal}{{$tv->name}}{literal}' 	 	            
        }
        ,store: new Ext.data.JsonStore({
                        id:'id',
                        autoLoad: true,
                        root:'results',
                        fields: ['name', 'id'],
                        remoteSort: true,
                        url: {/literal}{$connector_path}{literal},
                        baseParams:{
                            action: '{/literal}{$action}{literal}'
                            ,resource_id: '{/literal}{$resource.id}{literal}' 
                            ,object_id : '{/literal}{$object_id}{literal}'
                            ,tvname : '{/literal}{{$tv->name}}{literal}' 	                            
                        },
                        listeners: {
                            'load': {fn:function(store, records, options ) {
                                //this.hiddenName = config.paramHiddenName;
                                //this.setWidth('350');
                                }
                            },scope : this                        
                        }   
                    }) 
        
        ,listeners: { 
		    'select': {fn:this.selectOption,scope:this}
            ,'render': {fn:this.initSelect,scope:this}
		}
    });
    MODx.combo.{/literal}{$ddId}{literal}.superclass.constructor.call(this,config);
};
Ext.extend(MODx.combo.{/literal}{$ddId}{literal},Ext.ux.form.SuperBoxSelect,{
	selectOption: function() {
        this.refreshChildren(true);
        MODx.fireResourceFormChange();	         
         
	}
    
   
    ,initSelect: function() {
        var parent_field = null;
        for(i = 0; i <  this.parents.length; i++) {
 		    parent = this.parents[i];
            parent_field = Ext.get('original'+parent);
            if (parent_field){
                this.store.baseParams[parent] = parent_field.dom.value;
            }
            
        }
       this.store.load({
            callback: function() {
                this.setValue(Ext.get('{/literal}original{$ddId}{literal}').dom.value);
           },scope:this
      });
	}
	

	
});

console.log(Ext.get('{/literal}original{$ddId}{literal}').dom.value);
Ext.reg('modx-combo-{/literal}{$ddId}{literal}',MODx.combo.{/literal}{$ddId}{literal});
Ext.onReady(function() {
    var fld = MODx.load({
        xtype: 'modx-combo-{/literal}{$ddId}{literal}'
    });
    //console.log(fld);
    //alert('222');
    
    Ext.getCmp('modx-panel-resource').getForm().add(fld);
    {/literal}
});
// ]]>