Odoo:如何覆盖网站前端的JS功能(例如,模块website_sale.validate中的函数payment_transaction_poll_status)?

时间:2018-05-16 13:19:35

标签: javascript odoo odoo-9

举个例子,请看一下这个Odoo JS模块: https://github.com/odoo/odoo/blob/9.0/addons/website_sale/static/src/js/website_sale_validate.js

它基本上是:

odoo.define('website_sale.validate', function(require) {
    "use strict";
    ...
    $(document).ready(function () {
        ...
        function payment_transaction_poll_status() {...}
        payment_transaction_poll_status();
    });
});

让我们说我想创建一个自己的应用程序" test"。 JS位于/test/static/src/js/test.js - 到目前为止一切都很好。

在那里,我想覆盖 payment_transaction_poll_status

通常,为了使用其他模块,我会这样做:

odoo.define('test.test', function (require) {
    "use strict";
    var website_sale_validate = require('website_sale.validate');
    website_sale_validate.include({...});
});

但即便如此(没有覆盖任何内容)也会导致:

  

TypeError:无法读取属性' include'未定义的

(安装了Odoo app website_sale ,可以通过Chrome开发工具找到 website_sale_validate.js

此外,我认为不能覆盖甚至不导出任何内容的模块内的函数。正确?

现在我得出结论,在给定的情况下不可能覆盖Odoo模块的功能。我是对的吗?

有没有办法覆盖 payment_transaction_poll_status

提前致谢!

0 个答案:

没有答案