2017-08-08 6 views
2

Odoo/openerp docsでは、 'クライアントアクション'は完全にクライアント側に実装されていると言います。 Odoo v10の詳細なドキュメントの例は提供していません。Odooのクライアントアクション

誰かがクライアントの行動を実装する方法とその可能性を正確に把握していますか? (クライアントアクションで実装できる可能性)

答えて

1

クライアントアクションは、基本的にxmlで定義されたメニュー項目で、対応するアクションはウィジェットにマッピングされます。続き

は、クライアントアクションの実装です:

あなたのXMLファイルには、次のコードが含まれます:

<record id="some-report-client-action" model="ir.actions.client"> 
    <field name="name">Report Page</field> 
    <field name="tag">report.report_page</field> 
</record> 

<menuitem id="some-report-menuitem" name="Some" parent="pdf_report" 
       action="some-report-client-action"/> 

ウィジェットを作成するためのjsファイルを作成します。あなたは私たちが完全にカスタムQWEBテンプレートを作成して任意の機能を追加することができます見ることができるように

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

local.HomePage = instance.Widget.extend({ 
    template: 'MyQWebTemplate', 
    init: function(parent, options){ 
     this._super.apply(this, arguments); 
     this.name=parent.name; 
    }, 
    start: function() { 
     this._super.apply(this, arguments); 
     console.log('Widget Start') 
    }, 
}); 

//Following code will attach the above widget to the defined client action 

instance.web.client_actions.add('report.report_page', 'instance.guard_payments.HomePage'); 
} 

:それは、次のコードが含まれます。

基本的にこのOdoo

+0

感謝。私はv10のクライアントアクションを実装していますが、別の問題に直面しています>私のウィジェットを描画するテンプレートです(パラメータやウィジェットのinitメソッドに入れた変数など)これについての任意のアイデアですか? – DexJ

+0

initメソッドの中で宣言した変数は、 'this'キーワードを使って他のメソッドでも利用できます。変数をビューで使用できるようにするには、 'Qweb.render( 'MyTemplate'、{'variable1':this.variable1})のようなビューに明示的に渡す必要があります。 –

0

が提供する最良の部分はまた、あなたがでドキュメントを見つけることができます:あなたの答えのための Odoo client actions