【问题标题】:How make my custom module visible in app switcher odoo12 through code如何通过代码使我的自定义模块在应用切换器 odoo12 中可见
【发布时间】:2018-11-13 11:35:31
【问题描述】:

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

This is the link

【问题讨论】:

    标签: module odoo odoo-12


    【解决方案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 源代码。您可以看到他们如何在每个模块上实现根菜单和安全规则,并为您的模块进行模拟。

    【讨论】:

    • 我应该在哪个 xml 中包含这些菜单项?还是我应该写一个新的?
    • 如果你有很多菜单,有些人会选择为菜单创建一个新的 xml,如果只有一两个,那么你可以将它们添加到与视图相同的 XML 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多