Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
1503 มุมมอง

I have created a client action which shows list view (Using owl template), now on click of each item i want to open another owl template so how can pass record id to fetch data in it?

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,

Define a method in your JavaScript file: odoo.define('your_module_name.your_js_file', function (require) {

    "use strict";


    var core = require('web.core');

    var Widget = require('web.Widget');


    var _t = core._t;


    var YourWidget = Widget.extend({

        template: 'YourTemplate',


        events: {

            'click .list-item': '_onListItemClick',

        },


        _onListItemClick: function (ev) {

            var recordID = $(ev.currentTarget).data('record-id');

            this.do_action({

                name: _t("Open Record"),

                type: 'ir.actions.act_window',

                res_model: 'your.model.name',

                res_id: recordID,

                views: [[false, 'form']],

                target: 'current',

            });

        },

    });


    return YourWidget;

});


Pass Record ID from the template:<t t-name="YourTemplate">
<div class="list-item" t-att-data-record-id="record.id">
        <!-- Your list item content here -->
    </div>
</t>


Hope it helps

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
0
ส.ค. 24
873
5
มี.ค. 25
3159
1
ก.พ. 25
1556
1
ธ.ค. 24
4396
0
พ.ย. 24
1802