举个例子,请看一下这个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 ?
提前致谢!