Odoo 菜单定义和修改学习总结

您所在的位置:网站首页 odoo系统架构 Odoo 菜单定义和修改学习总结

Odoo 菜单定义和修改学习总结

2023-04-09 12:44| 来源: 网络整理| 查看: 265

odoo菜单定义和修改学习总结环境

odoo-14.0.post20221212.tar

定义菜单

方式1:

说明:

id 菜单外部ID

name

如果不指定name,则:

如果为菜单设置了action,则获取action record定义中name字段的值作为菜单name属性的值如果未设置菜单action,则获取菜单外部ID为值作为菜单name属性的值

action

打开菜单时需要执行的action的外部ID

web_icon

指定菜单图标,格式:模块名称,图标路径,形如estate,static/img/icon.png 意为estate模块下的static/img/icon.png图标。其中图标路径,一般是相对于模块根目录的相对路径

sequence

设置菜单展示顺序。该属性值越大,越靠右、靠下方展示。也就是说,菜单从左往右,从上到下,对应sequence属性值从小到大。

元素也可以放在元素中,形如

...

groups

逗号分隔的res.groups模型的外部ID序列,形如groups="group_account_user,group_account_manager,group_account_invoice",表示菜单只能被group_account_user,group_account_manager,group_account_invoice 三个用户组访问。用于指定可以访问菜单的用户组。如果外部ID以-为前缀,则从菜单组中移除该ID代表的组,注意,如果指定用户组不是在当前模块中定义的,需要指定所在模块名称,形如estate.group_estate_property_root_menu。

示例:

...

方式2:通过parent来设置菜单层级

说明:

parent

指定父级菜单外部ID,如果上级菜单不在当前模块中,则需要指定上级菜单所在模块,形如parent="moduleName.parent_menu_id"

修改菜单

本节要介绍的是一种特殊的修改方式,并不是直接修改原有菜单定义。这种修改方式之所以特殊,是因为它不修改原有菜单的定义,而是通过重新定义菜单来修改,可以简单的类比为“继承”,具体做法如下:

定义一个新的菜单,将其id属性值设置为原有菜单所在模块名称及其id属性值的组合,形如:moduleName.source_menu_id(参见下述示例),如果新的菜单和原有菜单在同一个模块,可以省略moduleName.。

修改相关菜单属性值为目标值(如果需要的话)

示例:重新定义purchase.menu_purchase_root菜单名称

以新定义的菜单为父级菜单,添加子菜单(如果需要的话),添加方式可以参考上文所述,需要注意的是,不管采用哪种方式,原有菜单的子菜单依然存在,并显示为新定义菜单的子菜单

隐藏原有菜单的子菜单(如果需要的话)

定义一个,将其id设置为要隐藏的子菜单所在模块名称及id属性值的组合,形如:moduleName.source_menu_id,如果新的菜单和原有菜单在同一个模块,可以省略moduleName.。

将其model设置为"ir.ui.menu"

添加子元素 ,其中eval=False则表示隐藏,eval=True表示显示

... 参考连接

https://www.odoo.com/documentation/14.0/zh_CN/developer/reference/addons/data.html#shortcuts



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3