我正在尝试在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
则没有。
我在这背后错过了一些“黑魔法”吗? TNX
答案 0 :(得分:2)
您是否尝试使用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