Extjs: добавление поля в таблице заказов
Добрый день!
Подскажите, пожалуйста, как добавить с помощью MODX-плагина элемент в контекстное меню в таблице заказов Минишопа? По-умолчанию, там Изменить и Удалить. joxi.ru/52azjXgu4dzBZA
1. Я создал плагин msOrderAddPrint, повесил его на событие msOnManagerCustomCssJs
Написал в нем код:
Если править исходный код файла /assets/components/minishop2/js/mgr/orders/orders.grid.js, то все работает:
Подскажите, пожалуйста, как добавить с помощью MODX-плагина элемент в контекстное меню в таблице заказов Минишопа? По-умолчанию, там Изменить и Удалить. joxi.ru/52azjXgu4dzBZA
1. Я создал плагин msOrderAddPrint, повесил его на событие msOnManagerCustomCssJs
Написал в нем код:
<?php
switch ($modx->event->name) {
case 'msOnManagerCustomCssJs':
if ($page != 'orders') return;
$modx->controller->addHtml("
<script type='text/javascript'>
Ext.ComponentMgr.onAvailable('minishop2-grid-orders', function(){
Что здесь писать?
});
</script>");
break;
}
Если править исходный код файла /assets/components/minishop2/js/mgr/orders/orders.grid.js, то все работает:
Ext.extend(miniShop2.grid.Orders, miniShop2.grid.Default, {
getFields: function () {
return miniShop2.config['order_grid_fields'];
},
getMenu: function (grid, rowIndex) {
var ids = this._getSelectedIds();
var row = grid.getStore().getAt(rowIndex);
var menu = miniShop2.utils.getMenu(row.data['actions'], this, ids);
//var menu = [];
menu.push({
text: 'Печать'
,handler: function () {
window.open('http://www.example.com?ReportID=1', '_blank');
}
});
this.addContextMenuItem(menu);
}
........
});
А что писать в плагине? Не хочется править исходники js. Или через плагин криво делать? Комментарии: 3
примерно так
Ext.override(miniShop2.grid.Orders , {
getMenu: function (grid, rowIndex) {
var ids = this._getSelectedIds();
var row = grid.getStore().getAt(rowIndex);
var menu = miniShop2.utils.getMenu(row.data['actions'], this, ids);
menu.push({
text: 'Печать'
,handler: function () {
window.open('http://www.example.com?ReportID=1', '_blank');
}
});
this.addContextMenuItem(menu);
}
});
Володя, большое спасибо. Помогло.
пожалуйста.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.