2016-11-04 113 views
2

我需要改变标题addons/web/static/src/js/web_client.jsOdoo 9继承js文件

this.set('title_part', {"zopenerp": "Odoo"}); 

是在新的自定义模块继承js文件,并改变“Odoo”到“Odoo 9”可以

+1

它最有可能的是可能的。我希望我对js继承的知识有更多的了解,但是我没有,所以也不能给你很多建议。最简单的方法就是静态更改上面显示的代码。但是,如果你确实知道如何继承这个类并覆盖函数,请发布你的代码。我为一,也想知道。 –

回答

4

你可以改变它通过重写start功能:

instance.web.WebClient.include({ 

    start: function() { 
     this.set('title_part', {"zopenerp": "Odoo9"}); 
     return this._super(); 
    }, 
}); 

要覆盖一个JavaScript功能在odoo,使用以下代码:

__openerp__.py

... 
'data': [ 
    'module_view.xml', 
], 
... 

module_view.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <template id="assets_backend_custum_id" name="title_365 assets" inherit_id="web.assets_backend"> 
      <xpath expr="." position="inside"> 
       <script type="text/javascript" src="/title_365/static/src/js/script.js"></script> 
      </xpath> 
     </template> 
    </data> 
</openerp> 

的script.js

openerp.title_365 = function(instance){ 
    var _t = instance.web._t, 
    _lt = instance.web._lt; 
    var QWeb = instance.web.qweb; 

    instance.web.WebClient.include({ 

     start: function() { 
      this.set('title_part', {"zopenerp": "Odoo9"}); 
      return this._super(); 
      }, 
     }); 
} 
+1

非常感谢@WaIR的贡献。我一定会尝试并使用它。我过去只是手动更改条目进行了这种调整。 –

+0

@phillipstack我很乐意提供帮助。 – Zety

+0

@WalR Tnx重播,你能看到我的模块,我添加了所有从你的例子,但不工作。 https://postimg.org/image/n3tkqpeh9/可能需要在.xml视图中更改name =“name assets”? –