0
有貨模塊的條碼掃描器頁面由widget.js和picking.xml通過qweb處理。覆蓋widget的odoo股票
我需要覆蓋的行爲,以添加功能。到目前爲止,我已經能夠覆蓋XML:
<templates id="template" xml:space="preserve">
<t t-extend="PickingEditorWidget">
<t t-jquery="#js_packconf_select" t-operation="after">
<p>Hello World!</p>
</t>
</t>
</templates>
而是JS部分我卡住了。 我需要重寫的內部PickingEditorWidget一些功能的行爲,而是在widget.js它首先包含的對象openerp.stock內,然後整個openerp.stock被改寫的函數:
openerp.stock = function(openerp) {
openerp.stock = openerp.stock || {};
openerp_picking_widgets(openerp);
}
我已經看到這種代碼在每個模塊中,那麼我怎麼能改變(例如)這個函數的工作方式,而不必用我的小改動來重寫整個stock/widget.js?
this.$('.js_pack_configure').click(function(){
....
})
我不是JS專家,我無法弄清楚......
編輯:
我把我的模塊的清單中dependances股票模塊,現在我看到了PickingEditorWidget對象,但我仍不能讓它工作,我的變化
我的代碼(widget.js)是:
function openerp_picking_widgets_extended(instance){
var module = instance.mrp_extended;
module.PickingEditorWidgetExtended = instance.stock.PickingEditorWidget.include({
renderElement: function(){
this.$('.js_pack_configure').click(function(){
<my code>
});
this.$('.js_validate_pack').click(function(){
<my code>
});
this._super();
},
});
}
openerp.mrp_extended = function(openerp) {
openerp.mrp_extended = openerp.mrp_extended || {};
openerp_picking_widgets_extended(openerp);
}