2017-07-27 9 views
3

odoo10コミュニティでこのコードを試しましたが、動作しませんでした。私の過ちは何ですか?ヘッダーボタンの中にformviewのイベントを書き込む方法は? odoo 10

誰か私にそれを行う方法を教えてもらえますか?

openerp.module_name= function (instance) { 

      var _t = instance.web._t, QWeb = instance.web.qweb; 

       instance.web.FormView = instance.web.FormView.include({ 
       init: function() { 
         this._super.apply(this, arguments); 
         console.log("test"+this.getParent().dataset.model); 
        }, 
        events: { 
         'click #target': 'button_clicked', 
        }, 
        button_clicked : function(ev) { 
         console.log("test333555555"); 
         ev.preventDefault(); 
         ev.stopPropagation(); 
         console.log("test 333333333333"); 
        });   

       }, 

      }); 
}; 
+0

こんにちはviki Chavada、あなたは解決策を知っていましたか? – KLN

+0

したがって、フォームビューの作成ボタンと編集ボタンはどこにあるのでしょうか? –

+0

このボタンはフォームビューの中にありません。例えば、発注書の形で適合、キャンセルボタンのように..... – KLN

答えて

4

最初に、いくつかの変更を加えて作成するボタンを作成します。

<button string="Click" custom="click"/> 

は次に次のコードが含まれます1つのJSファイルを作成します。

odoo.define('YOUR_MODULE.FILENAME', function (require) { 
"use strict"; 

var form_widget = require('web.form_widgets'); 
var core = require('web.core'); 
var _t = core._t; 
var QWeb = core.qweb; 

form_widget.WidgetButton.include({ 
    on_click: function() { 
     if(this.node.attrs.custom === "click"){ 

      // YOUR CODE 

      return; 
     } 
     this._super(); 
    }, 
}); 
}); 

XMLにこれはJS

<?xml version="1.0" encoding="utf-8"?> 
<odoo> 
     <template id="assets" inherit_id="web.assets_backend"> 
      <xpath expr="." position="inside"> 
       <script type="text/javascript" src="/YOURMODULE/static/js/FILENAME.js"></script> 
      </xpath> 
     </template> 
</odoo> 

を追加し、私はこれがあなたのために働くことを願っています__manifest__.py

{ 
... 
... 
'data': [ 
     ... 
     'views/above_xml_filename.xml', 
    ], 
.... 
} 

をそのXMLを追加します。

+1

ありがとうございます@Viki Chavada .................... !!!!!!!!!!! – KLN

+0

あなたはメールIDを与えることができますか? – KLN

+0

あなたの電子メールIDをここにドロップします。私はあなたに連絡します。 –

関連する問題