xtype: данные записываются в базу но не выводятся в поле

Всем привет! Ребята, подскажите где косячу. Есть xtype который получает детей определенного родителя и берет у них id и pagetitle. Выпадающий список формируется, данные в базу записываются, правда в виде массива из id:
[12,15]
А вот после обновления страницы сохраненные данные в поле не подставляются. Поле добавляю через систему плагинов расширения miniShop2.

xtype:
miniShop2.combo.InShop = function (config) {
    config = config || {};
    console.log(config);
    Ext.applyIf(config, {
        xtype: 'superboxselect',
        allowBlank: true,
        msgTarget: 'under',
        allowAddNewData: false,
        addNewDataOnBlur: true,
        pinList: false,
        resizable: true,
        name: config.name,
        anchor: '100%',
        minChars: 0,
        store: new Ext.data.JsonStore({
            id: config.name+'-store',
            root: 'results',
            autoLoad: false,
            autoSave: false,
            totalProperty: 'total',
            fields: ['pagetitle', 'id'],
            url: '/assets/components/cov/connector.php',
            baseParams: {
                action: 'mgr/shops/getlist',
                combo: true,
                parent: config.parent
            }
        }),
        mode: 'remote',
        displayField: 'pagetitle',
        valueField: 'id',
        triggerAction: 'all',
        extraItemCls: 'x-tag',
        expandBtnCls: 'x-form-trigger',
        clearBtnCls: 'x-form-trigger'
    });
    config.name += '[]';

    miniShop2.combo.InShop.superclass.constructor.call(this, config);
};
Ext.extend(miniShop2.combo.InShop, Ext.ux.form.SuperBoxSelect);
Ext.reg('minishop2-combo-inshop', miniShop2.combo.InShop);
Процессор:
<?php
class msPluginGetListProcessor extends modObjectGetListProcessor
{

    public $classKey = 'modResource';
    public $defaultSortField = 'id';
    public $defaultSortDirection = 'ASC';
    public $fromRes = 33173;

    /**
     * @return bool|null|string
     */
    public function initialize()
    {
        if (!$this->modx->hasPermission($this->permission)) {
            return $this->modx->lexicon('access_denied');
        }

        if (!empty($this->getProperty('parent'))) {
            $this->fromRes = $this->getProperty('parent');
        }

        return parent::initialize();
    }

    /**
     * Can be used to adjust the query prior to the COUNT statement
     *
     * @param xPDOQuery $c
     * @return xPDOQuery
     */
    public function prepareQueryBeforeCount(xPDOQuery $c) {
        $c->where(array(
            'parent' => $this->fromRes
        ));
        return $c;
    }

    /**
     * @param xPDOObject $object
     *
     * @return array
     */
    public function prepareRow(xPDOObject $object)
    {
        $data = array();
        if ($this->getProperty('combo')) {
            $data = array(
                'id' => $object->get('id'),
                'pagetitle' => $object->get('pagetitle'),
            );
        } else {}

        return $data;
    }

}
return 'msPluginGetListProcessor';


Пока накостылил через плагин на событии 'OnDocFormPrerender'.
Появился еще вопрос: почему не срабатывают listeners?


Ext.applyIf(config, {
        ...
        listeners: { // - Не отрабатывает. Не понимаю почему(((
            render: {
                fn: function (data) {
                    console.log('Show:', data);
                    /*Ext.getCmp('modx-panel-resource').getForm().setValues({'inshop[]':['33174','33175']})
                    MODx.fireResourceFormChange();*/
                }
            }
        }
    });
Максим
22 августа 2019, 17:58
modx.pro
886
0
Поблагодарить автора Отправить деньги

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

Максим
23 августа 2019, 15:54
0
Самое интересное, что данные из базы приходят. Пробовал руками подставлять данные разного формата — число, массив чисел, объект ( {id:33174} ), но все без толку(((

Что не так?
    Володя
    23 августа 2019, 16:23
    0
    fields: ['pagetitle', 'id'],
    value: { value: 3374 }
      Максим
      23 августа 2019, 16:28
      0
      Володя, привет. Не помогает((( И фишка еще в том, что там можно несколько магазинов выбрать
        Володя
        23 августа 2019, 16:33
        0
        привет.
        это ответ на вопрос —
        Что не так?
          Максим
          23 августа 2019, 16:35
          0
          А можешь чуть развернутей?
          Если ты про разные форматы, то так тоже не работает:
            Володя
            23 августа 2019, 16:40
            0
            ну тебя не смущает что в конфиге указаны поля
            'pagetitle', 'id'
            и в процессоре ты вроде как отдаешь их же, а на скрине у тебя
            value: { value: 3374 }
              Максим
              23 августа 2019, 16:44
              0
              Смущает! Только я руками в конфиг пишу value разных форматов и не спасает.
              Да процессор это для построения выпадающено списка. Список строится нормально!) А вот value не хочет подставляться.
                Володя
                23 августа 2019, 16:52
                0
                А вот value не хочет подставляться.
                а как ты думаешь откуда подставляется value?
                  Максим
                  23 августа 2019, 16:58
                  0
                  Судя по тому что я вижу — из конфига. Ну или я ошибаюсь(((
                    Володя
                    23 августа 2019, 17:08
                    0
                    в консоли если выполнить
                    Ext.getCmp('modx-panel-resource').getForm().setValues({'inshop[]':['33174']})
                    значение выставится у поля?
                      Максим
                      23 августа 2019, 17:16
                      0
                      Да!
                      Володя
                      24 августа 2019, 07:37
                      0
                      отлично. а затем выполни
                      Ext.getCmp('modx-resource-inshop').value
                      и сравни с тем что ты выставляешь в конфиге.
                      Максим
                      26 августа 2019, 10:43
                      0
                      А приходит массив объектов. Но я не могу понять где это регулируется. Если мой процессор только для построения списка, то где генерируется результат выборки из базы?
                      Максим
                      23 августа 2019, 17:30
                      0
                      Они же в таком формате в базе и хранятся… Их нужно отдельно где-то получать и вставлять?
            Володя
            23 августа 2019, 16:42
            0
            Если ты про разные форматы...
            да, я про разные форматы.

            то так тоже не работает:
            поздравляю, один косяк исправлен… Изучай дальше в чем дело.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    15