我正在尝试在Web客户端上自定义基本的Field对象。这是我的代码:
openerp.web_mymodule = function(openerp) {
openerp.web.form.Field = openerp.web.form.Field.extend({
init: function(view, node) {
console.log('mine');
this._super(view, node);
}
});
[...]
}
但不起作用。 AFAIK这应该工作以及以下代码(在同一文件中)正在工作:
[...]
openerp.web.form.FieldChar = openerp.web.form.FieldChar.extend({
init: function (view, node) {
this._super(view, node);
console.log('mine')
}
});
我可以看到的唯一区别是,所有小部件(包括FieldChar)都在
view_form.js
中注册,而Field
不是。我是否在此背后缺少一些“黑魔法”? n
最佳答案
您是否尝试使用include而不是extend?
openerp.web_mymodule = function(openerp) {
openerp.web.form.Field.include({
init: function(view, node) {
console.log('mine');
this._super(view, node);
}
});
[...]
}
xmo在这里写了一个解释:openerp web client 6.1: how to override base javascript functions