如何在Web客户端上扩展基本字段小部件

时间:2012-08-14 13:09:58

标签: javascript web openerp

我正在尝试在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

1 个答案:

答案 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