6

我开发了一个新模块,并且在该模块中我在 .xml 文件中创建了一个组。
现在我想将该组应用到已经在其他菜单中创建的菜单中。
那么我可以将组应用于这些菜单吗?
我不想覆盖菜单,我只想在已经创建的菜单中应用组。

提前致谢。

4

2 回答 2

11

向现有菜单添加组是通过正常的 OpenERP 记录更新机制完成的。您实际上不必完全重新定义模块中的现有菜单记录,只需声明<record>具有相同 ID 的 a,该字段只有一个值groups_id

    <record id="original_module.menu_id" model="ir.ui.menu">
        <!-- Use the special many2many value syntax to add a child record,
             and the `ref()` method to resolve the group XML ID -->
        <field name="groups_id" eval="[(4,ref('my_new_group_id'))]"/>
    </record>

您可以在官方 OpenERP 插件中找到类似的示例,例如使顶级销售菜单对一些额外组可见的 CRM 模块 (l.48)

于 2012-11-19T12:22:39.963 回答
0

您可以替换 menuitem 本身,而不是更新记录,

您所要做的就是找到要覆盖的菜单项,然后将代码添加到其中。例如,已经定义的菜单,

<menuitem id="menu_example" action="menu_action" name="Example Menu" parent="menu_example_parent" sequence="10"/>

现在假设您要向此菜单添加组,

<menuitem id="existing_module.menu_example" action="existing_module.menu_action" name="Example Menu" parent="existing_module.menu_example_parent" sequence="10" groups="group_example"/>

如果它不起作用,则首先删除该菜单,然后再次编写该菜单,包括您的代码。对于删除菜单,

<delete model="ir.ui.menu" id="module_name.menu_id" />

希望这会有所帮助。

于 2017-11-16T12:07:09.337 回答