v 15.0 Third Party 97
Download for v 15.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 41
Technical Name web_multi_level_menu
LicenseLGPL-3
Websitehttps://gitee.com/rainbowstudio/wecom
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 41
Technical Name web_multi_level_menu
LicenseLGPL-3
Websitehttps://gitee.com/rainbowstudio/wecom

Web multi level menu

后端多级别菜单


Features 功能:

  • Support more than 4 levels of system menus.
  • If you have the development ability of odoo, you can support more levels of menus.
  • 支持超过4个级别的系统菜单。
  • 如果您有odoo的开发能力,可以支持更多级别的菜单。

Screenshot 截图



How to install and use 如何安装和使用:


Document path 文档路径:
/doc/index.rst

How to support more levels of menus 如何支持更多级别的菜单:


  • Code file path: /web_multi_level_menu/static/src/webclient/navbar/navbar.xml
  •                                     
    <t t-inherit="web.NavBar.SectionsMenu.Dropdown.MenuSlot" t-inherit-mode="extension" owl="1"> 
        <xpath expr="t[@t-foreach='items']" position="replace"> 
            <t t-foreach="items" t-as="item" t-key="item.id"> 
                <t t-if="!item.childrenTree.length"> 
                    <MenuItem payload="item" href="getMenuItemHref(item)" class="dropdown-item" t-esc="item.name" /> 
                </t> 
                <t t-else=""> 
                    <div class="dropdown-menu_group dropdown-header" t-esc="item.name" /> 
                        <t t-foreach="item.childrenTree" t-as="subItem" t-key="subItem.id"> 
                            <t t-if="!subItem.childrenTree.length"> 
                            <MenuItem class="o_dropdown_menu_group_entry dropdown-item" payload="subItem" href="getMenuItemHref(subItem)" t-esc="subItem.name" /> 
                        </t> 
                        <t t-else=""> 
                            <div class="dropdown-menu_group o_dropdown_fifth_menu_group_header dropdown-header" t-esc="subItem.name" /> 
                            <!-- Level 5 submenu --> 
                            <t t-foreach="subItem.childrenTree" t-as="subSubItem" t-key="subSubItem.id"> 
                                <MenuItem class="o_dropdown_menu_group_entry o_dropdown_fifth_menu_group dropdown-item" payload="subSubItem" href="getMenuItemHref(subSubItem)" t-esc="subSubItem.name" /> 
                            </t> 
                            <!-- If you need to support more menu levels, please continue to traverse here. --> 
                        </t> 
                    </t> 
                </t> 
            </t> 
        </xpath> 
    </t> 
    
  • 代码路径: /web_multi_level_menu/static/src/webclient/navbar/navbar.xml
  •                                     
    <t t-inherit="web.NavBar.SectionsMenu.Dropdown.MenuSlot" t-inherit-mode="extension" owl="1"> 
        <xpath expr="t[@t-foreach='items']" position="replace"> 
            <t t-foreach="items" t-as="item" t-key="item.id"> 
                <t t-if="!item.childrenTree.length"> 
                    <MenuItem payload="item" href="getMenuItemHref(item)" class="dropdown-item" t-esc="item.name" /> 
                </t> 
                <t t-else=""> 
                    <div class="dropdown-menu_group dropdown-header" t-esc="item.name" /> 
                        <t t-foreach="item.childrenTree" t-as="subItem" t-key="subItem.id"> 
                            <t t-if="!subItem.childrenTree.length"> 
                            <MenuItem class="o_dropdown_menu_group_entry dropdown-item" payload="subItem" href="getMenuItemHref(subItem)" t-esc="subItem.name" /> 
                        </t> 
                        <t t-else=""> 
                            <div class="dropdown-menu_group o_dropdown_fifth_menu_group_header dropdown-header" t-esc="subItem.name" /> 
                            <!-- 第五级子菜单  --> 
                            <t t-foreach="subItem.childrenTree" t-as="subSubItem" t-key="subSubItem.id"> 
                                <MenuItem class="o_dropdown_menu_group_entry o_dropdown_fifth_menu_group dropdown-item" payload="subSubItem" href="getMenuItemHref(subSubItem)" t-esc="subSubItem.name" /> 
                            </t> 
                            <!-- 如果需要支持更多菜单级别,请在此处继续遍历。 --> 
                        </t> 
                    </t> 
                </t> 
            </t> 
        </xpath> 
    </t>
    

Web multi level menu

Introduce:

  • Used to display menus with more than four levels.

How to install:

  1. Click on the menu "Apps".
  2. Select "Extra" in the filter popup menu.
  3. Enter "web_multi_level_menu" in the search input box.
  4. Please install the module "Web multi level menu" in the search results.

code demo:

  • Code file path: /web_multi_level_menu/static/src/webclient/navbar/navbar.xml

Example1:Modify the form view in debug mode

<t t-inherit="web.NavBar.SectionsMenu.Dropdown.MenuSlot" t-inherit-mode="extension" owl="1">
    <xpath expr="t[@t-foreach='items']" position="replace">
        <t t-foreach="items" t-as="item" t-key="item.id">
            <t t-if="!item.childrenTree.length">
                <MenuItem payload="item" href="getMenuItemHref(item)" class="dropdown-item" t-esc="item.name" />
            </t>
            <t t-else="">
                <div class="dropdown-menu_group dropdown-header" t-esc="item.name" />
                <t t-foreach="item.childrenTree" t-as="subItem" t-key="subItem.id">
                    <t t-if="!subItem.childrenTree.length">
                        <MenuItem class="o_dropdown_menu_group_entry dropdown-item" payload="subItem" href="getMenuItemHref(subItem)" t-esc="subItem.name" />
                    </t>
                    <t t-else="">
                        <div class="dropdown-menu_group o_dropdown_fifth_menu_group_header dropdown-header" t-esc="subItem.name" />
                        <!-- Level 5 submenu -->
                        <t t-foreach="subItem.childrenTree" t-as="subSubItem" t-key="subSubItem.id">
                            <MenuItem class="o_dropdown_menu_group_entry o_dropdown_fifth_menu_group dropdown-item" payload="subSubItem" href="getMenuItemHref(subSubItem)" t-esc="subSubItem.name" />
                        </t>
                    </t>
                </t>
            </t>
        </t>
    </xpath>
</t>

Bugs and requirements:

You can send an email to rain.wen@outlook.com to submit bugs and requirements to me.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Thank you. Great solution.
by
Qaidjohar Barbhaya
on 3/18/23, 7:51 AM



There are no comments yet!