создал плагин на событие OnDocFormRender.
Добавил свою вкладку.
Создал объект грид.
Создал store (new Ext.data.JsonStore)
Подключил в гриде.
Все работает.
Теперь нужно сгруппировать данные.
Посмотрел как это сделано в manager/assets/modext/widgets/system/modx.grid.system.event.js
Добавил в грид параметры: grouping: true, groupBy: 'groupname', singleText: ‘test’, ,pluralText: ‘test’
Ничего не происходит и даже данные из самого стора не выводятся в грид.
Куда копать?
там еще есть процессоры, которые данные отдают (например, https://github.com/modxcms/revolution/blob/2.x/manager/assets/modext/widgets/core/modx.grid.settings.js#L144), там же вся магия и происходит, как я понимаю
Готово. Может быть кому-то пригодится. Ext.onReady(function () { var resourceID = MODx.request.id; // id текущего ресурса var store_select_product = new Ext.data.GroupingStore({ proxy: new Ext.data.HttpProxy({url: '/assets/store/php/selectProduct.php'}), reader: new Ext.data.JsonReader({ root:'results', fields: ['id', 'code', 'category', 'product_name'] }), groupField: 'category', remoteGroup: true, autoLoad: false }); store_select_product.load({params: {resourceID: resourceID}}); var gridColumns = new Ext.grid.ColumnModel([ {dataIndex: 'id', width: 330, header: 'id'}, {dataIndex: 'code', width: 670, header: 'code'}, {dataIndex: 'category', width: 670, header: 'category'}, {dataIndex: 'product_name', width: 670, header: 'product_name'} ]); var gridGroups = new Ext.grid.GroupingView({ forceFit:true, //groupTextTpl: '{[ values.rs[0].data["category"] ]}', startCollapsed: false }); MODx.addTab("modx-resource-tabs", { id: 'products', title: 'Товары', bodyStyle: 'margin: 0', items: [{ html: 'Список товаров', anchor: '100%', xtype: 'modx-description', },{ xtype: 'grid', view: gridGroups, colModel: gridColumns, store: store_select_product, autoHeight: true, viewConfig: { forceFit: true, scrollOffset:0, enableRowBody: true, autoFill: true, showPreview: true, emptyText: 'В выбранной категории товары отсутствуют.', deferEmptyText: false }, stripeRows: true, // строки таблицы – зебра width: '100%', cls: 'main-wrapper' }] }) }); });
Обсуждают сегодня