【问题标题】:Extend JS web module Odoo PoS扩展 JS web 模块 Odoo PoS
【发布时间】:2016-02-18 11:03:30
【问题描述】:

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

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

我已经在我的模块下添加了一个新的 js 文件 static > src > js > models_extend.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);
        },
    },

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

【问题讨论】:

    标签: javascript module openerp extend


    【解决方案1】:

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

    如果您查看official docs,您会发现您的 JS 必须声明您的模块范围

    在 Odoo web 中,模块被声明为在全局上设置的函数 openerp 变量。函数名称必须与插件相同 (在本例中为 oepetstore),以便框架可以找到它,并且 自动初始化它。

    所以,如果你的模块被命名为oepetstore,你会得到这样的结果:

    openerp.oepetstore = function(instance, local) {
    

    在你的情况下,我猜是openerp.dewieuw

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

    【讨论】:

    • 你是对的我把它改成了 openerp.dewieuw 并且还在这一行上方添加了一个日志 (module.PosModel = module.PosModel.extend({) 和它下面的 1。第一个打印第二个一个没有..
    猜你喜欢
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2020-08-30
    • 2020-07-02
    相关资源
    最近更新 更多