You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo自定义模块中展示Event模块的树形及表单视图?

解决Odoo自定义模块集成Event模块菜单的问题

核心原因分析

你看到的menu_event_event是Event模块的父菜单节点,仅用于展开子菜单,本身不需要关联action——真正对应视图的action在它的子菜单或者单独的ir.actions.act_window记录里。

具体实现方案

方案1:直接在自定义菜单中添加Event视图入口

  1. 确认Event模块中对应event.event模型的列表视图action ID:Odoo16中该action的ID为action_event_event,定义在Event模块的event/views/event_views.xml中,结构如下:
<record id="action_event_event" model="ir.actions.act_window">
    <field name="Events"/>
    <field name="res_model">event.event</field>
    <field name="view_mode">kanban,tree,form,calendar,graph</field>
    <field name="domain">[]</field>
</record>
  1. 在自定义模块的菜单XML文件中,创建关联该action的菜单项,指定自定义模块的主菜单为父节点:
<!-- 替换my_module.main_menu为你自定义模块的主菜单ID -->
<menuitem name="我的活动" id="my_module.custom_event_menu"
          parent="my_module.main_menu"
          action="event.action_event_event"
          sequence="10"
          groups="event.group_event_registration_desk"/>

方案2:将Event模块的完整菜单树迁移到自定义菜单下

如果需要把Event模块的所有菜单(包括子菜单)都放到自定义模块的菜单结构里,可通过继承修改原Event主菜单的父节点:

<menuitem id="event.event_main_menu" inherit_id="event.event_main_menu"
          parent="my_module.main_menu"/>

这样原Event模块的整个菜单树会直接挂载到你的自定义主菜单下,无需单独配置每个子菜单。

注意事项

  • 确保自定义模块的__manifest__.py中添加对event模块的依赖:
'depends': ['base', 'event'],
  • 权限控制:保留groups="event.group_event_registration_desk"可确保只有具备活动管理权限的用户能看到该菜单,可根据需求调整或移除。

内容的提问来源于stack exchange,提问作者Temp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:56:10