2016-11-04 116 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」? –