我想将窗口操作与放置在Odoo界面左侧边栏中的菜单相关联。我在顶部菜单栏中有一个名为Academy的菜单,在左侧边栏中有另一个名为“Academy Content”的菜单。这是界面的图像。
链接到图片:Menus Odoo
“学院内容”菜单中没有子项。我想将窗口操作(名为action_academy_teachers)与“Academy内容”菜单相关联。 在视图(view.xml文件)中,我定义了两个菜单。
<menuitem sequence="0" id="menu_academy" name="Academy"/>
<menuitem id="menu_academy_content" parent="menu_academy" name="Academy Content" action="action_academy_teachers"/>
问题是我无法点击“学院内容”菜单,它只是一个静态文本,而不是一个链接。 但是,如果我将一个子菜单(名为“学院教师”)添加到“学院内容”菜单中,并将窗口操作“action_academy_teachers”与“Academy Teachers”菜单相关联,则单击此菜单时会触发此窗口操作。
<menuitem sequence="0" id="menu_academy" name="Academy"/>
<menuitem id="menu_academy_content" parent="menu_academy"
name="Academy Content"/>
<menuitem id="menu_academy_content_teachers"
parent="menu_academy_content"
action="action_academy_teachers" name="Academy Teachers"/>
但我希望点击“学院内容”菜单时触发“action_academy_teachers”操作。我不想创建另一个子菜单来执行此操作。
窗口操作代码:
<record id="action_academy_teachers" model="ir.actions.act_window">
<field name="name">Academy teachers</field>
<field name="res_model">academy.teachers</field>
</record>
其他信息:
Odoo:版本8
操作系统:Ubuntu 14.04 32位
答案 0 :(得分:1)
由于菜单的结构及其结构,Normaly默认情况下不起作用。
因此,您需要通过覆盖“web”模块中的“web.menu_secondary”模板来修改菜单的显示方式,以添加指向您的操作的链接。
要实现这一点,只需将此部分添加到XML文件中(或创建一个依赖于'web'模块的新模块):
<template id="menu_secondary" inherit_id="web.menu_secondary">
<div class="oe_secondary_menu_section" position="replace">
<div class="oe_secondary_menu_section">
<span t-if="not menu['action']">
<t t-raw="menu['name']"/>
</span>
<span t-if="menu['action']">
<t t-call="web.menu_link"/>
</span>
</div>
</div>
</template>
希望这有帮助!