odoo开发笔记--一个模块显示两个一级菜单
场景描述:
在已启动开发的模块中,odoo顶部一级菜单只有一个“会员管理”,需求是:在同一级顶部菜单,增加新菜单“产品管理”。举例如图:
处理方式:
按照odoo的机制,实现这种效果,可以通过多种方式:
1. 新增加一个独立模块,用作 “产品管理”
2. 共用一个模块,开发者模式下,通过对菜单进行配置,实现效果。(弊端:程序升级后,需要重新配置)
3. 共用一个模块,通过代码实现。(这里介绍的就是这种,基于odoo10)
很简单,只需要在模块代码--》views --> menu.xml --> sequence="2" 将两个一级菜单的sequence号指定的相同即可;因为,odoo菜单显示机制是通过menu视图中的sequence来控制菜单显示优先级&层级的。
这里的数字2只是举例,不是固定写法,根据自己实际项目修改!
<?xml version="1.0" encoding="utf-8"?> <odoo> <menuitem id="member_manage" name="会员管理" sequence="2"/> <menuitem id="member_manage_menu" name="首页" parent="member_manage_menu" action="member_manage_menu_index_action" sequence="10"/> <menuitem id="products_manage" name="产品管理" sequence="2"/> <menuitem id="products_manage_menu" string="产品" name="产品" parent="products_manage" sequence="11"/> </odoo>