gpt4 book ai didi

javascript - 扩展 JS Web 模块 Odoo PoS

转载 作者:行者123 更新时间:2023-12-03 07:39:10 26 4
gpt4 key购买 nike

我想扩展models.js文件中的JS模块PosModel(模型是point_of_sale)。这是因为我想在下面添加一个字段:

models: [
...
model: 'res.partner',
fields: ['name','street',..,'MY_NEW_FIELD'],

我已经在 static > src > js > models_extend.js 下向我的模块添加了一个新的 js 文件并将此文件添加到 xml 模板中,如下所示:

<template id="assets_backend" name="dewieuw assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/dewieuw/static/src/js/models_extend.js"></script>
</xpath>
</template>

这是在我的 models_extend.js 文件中:

function openerp_pos_models(instance, module){ //module is instance.point_of_sale
var QWeb = instance.web.qweb;
var _t = instance.web._t;

var round_di = instance.web.round_decimals;
var round_pr = instance.web.round_precision

module.PosModel = module.PosModel.extend({
"Here is the same is in the original file, except for the following line"
{
model: 'res.partner',
fields: ['name','street','city','state_id','country_id','vat','phone','zip','mobile','email','ean13','write_date','MY_NEW_FIELD'],
domain: [['customer','=',true]],
loaded: function(self,partners){
self.partners = partners;
self.db.add_partners(partners);
},
},

由于某种原因,新字段从未添加,我认为这是因为他没有用我的模块扩展模块?任何想法请。

最佳答案

您的 JS 定义必须包含要加载的自定义模块名称。

如果你看official docs您会看到您的 JS 必须声明您的模块范围

In Odoo web, modules are declared as functions set on the global openerp variable. The function's name must be the same as the addon (in this case oepetstore) so the framework can find it, and automatically initialize it.

因此,如果您的模块名为 oepetstore,您会得到如下内容:

openerp.oepetstore = function(instance, local) {

就你而言,我猜它会是openerp.dewieuw

提示:执行此操作并只需添加 console.logalert('foo') 以确保其加载。

关于javascript - 扩展 JS Web 模块 Odoo PoS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35479633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com