“菜单项”的版本间的差异
(创建页面,内容为“菜单项存储在ir.ui.menu模型中,可以通过'''设置'''下的'''技术| 用户界面| 菜单项'''菜单进行浏览。 todo_app 插件创建了一个顶...”) |
|||
第28行: | 第28行: | ||
这个时候,如果我们尝试升级插件,我们应该得到错误,因为我们没有定义在action属性中使用的XML ID。 我们将在下一节中添加它们。 | 这个时候,如果我们尝试升级插件,我们应该得到错误,因为我们没有定义在action属性中使用的XML ID。 我们将在下一节中添加它们。 | ||
+ | |||
+ | 上一节:[[使用XML文件定义用户界面]] 下一节:[[窗口动作]] |
2017年5月3日 (三) 21: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文件定义用户界面 下一节:窗口动作