菜单项

来自Odoo大V社-odoo中文开发手册
7017511讨论 | 贡献2017年5月4日 (四) 05:57的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

菜单项存储在ir.ui.menu模型中,可以通过设置下的技术| 用户界面| 菜单项菜单进行浏览。

todo_app 插件创建了一个顶级菜单,用于打开 To-Do 应用的任务。 现在我们要将其修改为二级菜单,并在其旁边添加其他菜单选项。

为此,我们将为应用添加一个新的顶级菜单,并修改现有的 To-Do 任务菜单选项。 在 views/ todo_menu.xml文件中,添加:

   
    <!-- Menu items -->
    <!-- Modify top menu item -->
    <menuitem id="todo_app.menu_todo_task" name="To-Do" />
    <!-- App menu items -->
    <menuitem id="menu_todo_task_view"  name="Tasks"  parent="todo_app.menu_todo_task"  sequence="10"  action="todo_app.action_todo_task" />
    <menuitem id="menu_todo_config"  name="Configuration"  parent="todo_app.menu_todo_task"  sequence="100"  groups="base.group_system" />
    <menuitem id="menu_todo_task_stage"  name="Stages"  parent="menu_todo_config"  sequence="10"  action="action_todo_stage" />

<menuitem>快捷元素,提供了一种缩减方式来定义要加载的记录,我们可以使用它来代替<record model =“ir.ui.menu”>元素。

第一个菜单项是To-do应用程序的顶部菜单项,只有name属性,并将用作下两个菜单项的父菜单。注意,它使用现有的XML ID:todo_app.menu_todo_task,因此这会重写todo_app模块中定义的菜单项,使其不绑定任何动作。 这是因为我们将添加子菜单项,并且将从其中一个调用打开任务视图的动作。

然后子菜单通过parent =“todo_app.menu_todo_task”属性置于顶层菜单下。

第二个菜单就是那个打开任务视图的菜单,通过action =“todo_app.action_todo_task”属性实现。 从它所使用的XML ID中可以看出,它正在重用由todo_app模块已创建的动作。

第三个菜单项为我们的应用程序添加配置部分。 我们希望它只对超级用户可用,因此我们还使用groups属性使其仅对系统管理|设置安全组可见。

最后,在配置菜单下,我们添加了任务阶段菜单项。 我们将使用它来维护将要添加的待办事项看板功能所使用的阶段。

这个时候,如果我们尝试升级插件,我们应该得到错误,因为我们没有定义在action属性中使用的XML ID。 我们将在下一节中添加它们。

上一节:使用XML文件定义用户界面 下一节:窗口动作