odoo undocumented:在页面埋跳转特定记录的锚点

在 页面 上的节点,埋入 res-id, res-model, view-type 三个属性。

此节点在 odoo web client 渲染成页面的时候,会自当转化为 # href ,

点击它的时候,会打开 view-type指定的 视图类型,模型为 model,记录ID为 id 的记录。

   

具体实现是,截获具有三个标志属性的节点,将其转化为 超链接,同时截获点击事件

// Allow sending commands to the webclient

// `do_action` command

$('[res-id][res-model][view-type]')

.wrap('<a/>')

.attr('href', '#')

.on('click', function (ev) {

ev.preventDefault();

var action = {

'type': 'ir.actions.act_window',

'view_mode': $(this).attr('view-mode') || $(this).attr('view-type'),

'res_id': Number($(this).attr('res-id')),

'res_model': $(this).attr('res-model'),

'views': [

[$(this).attr('view-id') || false, $(this).attr('view-type')],

],

};

window.parent.postMessage({

'message': 'report:do_action',

'action': action,

}, trusted_origin);

});

});

   

jeffery 2025年3月12日
标签
存档
企业微信 对接Odoo - 开通企业微信开发者相关账号