Odoo widget js代码适用于版本8但不适用于版本9?

时间:2017-03-06 05:27:11

标签: openerp odoo-8 odoo-9

为什么下面的代码不能用于odoo 9,但它适用于odoo 8 ...

openerp.petstore = function(instance, local) {

    instance.web.form.widgets = instance.web.form.widgets.extend(
    {
        'test' : 'instance.web.form.message',
    });

    instance.web.form.message = instance.web.form.FieldChar.extend(
    {
        template: 'test',
        start: function() {
        alert('working');
       }
    });
}

2 个答案:

答案 0 :(得分:0)

你试过了吗?

openerp.oepetstore = function(instance, local) {

    local.test = instance.Widget.extend({
        start: function() {
            alert('working');
        },
    });

    instance.web.client_actions.add(
        'petstore.test', 'instance.oepetstore.test');
}

请确保检查documentation的正确版本,因为网络客户端已经完成了一些重大更改。

答案 1 :(得分:0)

你好,Mani先生,

请尝试以下代码,

openerp.oepetstore = function(instance, local) {
    # _t and _lt is use for convert text to python and java script.
    var _t = instance.web._t,
        _lt = instance.web._lt;
    var QWeb = instance.web.qweb;

    local.HomePage = instance.Widget.extend({
        start: function() {
            alert("Hello Mani...");
            console.log("Hello Mani..");
        },
    });

    instance.web.client_actions.add(
        'petstore.homepage', 'instance.oepetstore.HomePage');
}

有关odoo 9 js的更多信息,请阅读以下最佳网站,
1. https://www.odoo.com/documentation/9.0/howtos/web.htm
2. http://javascript.qahowto.com/Odoo-9-How-to-override-form-widgets-javascript-openerp-qweb-odoo-9-2100c58

我希望我的回答很有帮助。如果有任何疑问请评论。