【问题标题】:how to extend basic field widget on the web client如何在 Web 客户端上扩展基本字段小部件
【发布时间】:2012-08-14 13:09:57
【问题描述】:

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

【问题讨论】:

    标签: javascript web openerp


    【解决方案1】:

    您是否尝试过使用包含而不是扩展?

    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

    【讨论】:

    • 我只是在尝试相同的方法,并且确实有效 :) 我只是重新阅读了 xmo 对我的回答(!!)但我仍然觉得有点奇怪,因为我对Field obj 像 FieldChar 和类似的作品:S 无论如何 tnx! :)
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多