如何通过代码使我的自定义模块在应用程序切换器odoo12中可见

时间:2018-11-13 11:35:32

标签: module odoo odoo-12

我是odoo的新手,我在odoo12中开发了一个小型自定义模块。问题是安装模块后,我无法在应用程序切换器页面中看到我的自定义模块。 (在下面的图像链接中,我看不到安装后创建的模块)。

This is the link

1 个答案:

答案 0 :(得分:1)

第一步是必须定义一个菜单项,如果未设置“父项”,它将是一个根菜单,因此将出现在应用程序抽屉中。

<menuitem
    id="model_menu_root"
    name="Module Menu"
    web_icon="module_name,static/description/icon.png"
    groups="base.group_user"
    sequence="6"
/>

您可能希望有子菜单来访问模型,他们将使用此菜单作为其父菜单。

<menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
          action="action_window"/>

菜单指的是窗口操作,它控制模型的显示方式。

<record model="ir.actions.act_window" id="action_window">
    <field name="name">Model Name</field>
    <field name="res_model">module_name.model_name</field>
    <field name="view_mode">tree,form</field>
</record>

您将需要定义一些安全规则,否则菜单将不会出现。这些在ir.model.access.csv文件中控制,该文件必须在__manifest__.py文件中声明。在以前的版本中,出于测试目的,跳过此步骤非常合适,因为管理员用户可以查看所有模型,但是在v12中,这似乎已更改,您需要在菜单可见之前定义安全规则。安全规则在odoo开发人员文档https://www.odoo.com/documentation/12.0/reference/security.html

中进行了说明

顺便说一句,对于这样的问题,通常我首先要看的是GitHub上的Odoo源代码。您可以看到他们如何在每个模块上实施根菜单和安全规则,并为您的模块进行仿真。