默认

Odoo 会根据您安装的应用自动生成一些基本菜单项。例如,网站应用会向主菜单添加两个菜单项。这些菜单项链接到页面,而这些页面也是自动创建的。

删除默认菜单项。

/website_airproof/data/menu.xml
<!-- Contact us -->
<delete model="website.menu" search="[('url','in', ['/', '/contactus']),
('website_id', '=', 1)]"/>

<!-- Shop -->
<delete model="website.menu" search="[('url','in', ['/', '/shop']),
('website_id', '=', 1)]"/>

新窗口

在新标签页中打开链接的 URL。

<record id="..." model="website.menu">
    <field name="new_window" eval="True"/>
</record>

锚点

链接到页面的特定部分。

<record id="..." model="website.menu">
    <field name="url">/about-us#our-team</field>
</record>

超级菜单

超级菜单是一种具有更多可能性的下拉菜单,而不仅仅是链接列表。在超级菜单中,您可以使用任何类型的内容(文本、图像、图标等)。

在 Odoo 中,您可以在列表中选择超级菜单模板。如果不需要自定义布局,您可以像使用任何静态内容一样,在 mega_menu_content 字段中复用该模板结构。

声明

/website_airproof/data/menu.xml
 <record id="menu_mega_menu" model="website.menu">
     <field name="name">Mega Menu</field>
     <field name="parent_id" search="[
         ('url', '=', '/default-main-menu'),
         ('website_id', '=', 1)]"/>
     <field name="website_id">1</field>
     <field name="sequence" type="int">..</field>
     <field name="is_mega_menu" eval="True"/>
     <field name="mega_menu_classes">...</field>
     <field name="mega_menu_content" type="html">
         <section class="s_mega_menu_multi_menus py-4 o_colored_level o_cc o_cc1">
             <div class="container">
                 <div class="row">
                     <div class="col-12 col-sm py-2 text-center">
                         <h4 class="o_default_snippet_text">First Menu</h4>
                         <nav class="nav flex-column">
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 1</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 2</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 3</a>
                         </nav>
                     </div>
                     <div class="col-12 col-sm py-2 text-center">
                         <h4 class="o_default_snippet_text">Second Menu</h4>
                         <nav class="nav flex-column">
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 1</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 2</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 3</a>
                         </nav>
                     </div>
                     <div class="col-12 col-sm py-2 text-center">
                         <h4 class="o_default_snippet_text">Third Menu</h4>
                         <nav class="nav flex-column">
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 1</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 2</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 3</a>
                         </nav>
                     </div>
                     <div class="col-12 col-sm py-2 text-center">
                         <h4 class="o_default_snippet_text">Last Menu</h4>
                         <nav class="nav flex-column">
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 1</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 2</a>
                             <a href="#" class="nav-link o_default_snippet_text" data-name="Menu Item">Menu Item 3</a>
                         </nav>
                     </div>
                 </div>
             </div>
         </section>
     </field>
 </record>

字段

说明

is_mega_menu

启用超级菜单功能。

mega_menu_classes 自定义类

要添加到主元素的自定义类

mega_menu_content 内容

超级菜单的默认内容

除此之外,您可能还需要使用自定义模板创建视觉效果更丰富的内容。欢迎查看 Odoo 源代码中 标准模板 的构建方式。

自定义模板

创建您自己的模板并将其添加到列表中。

布局

/website_airproof/views/website_templates.xml
<template id="s_mega_menu_airproof" name="Airproof" groups="base.group_user">
    <section class="s_mega_menu_airproof o_cc o_cc1 pt40">
        <!-- Content -->
    </section>
</template>

选项

使用以下代码在网站构建器中为新的自定义超级菜单添加选项。

/website_airproof/views/snippets/options.xml
<template id="snippet_options" inherit_id="website.snippet_options" name="Airproof - Mega Menu Options">
    <xpath expr="//*[@data-name='mega_menu_template_opt']/*" position="before">
        <t t-set="_label">Airproof</t>
        <we-button t-att-data-select-label="_label"
            data-select-template="website_airproof.s_mega_menu_airproof"
            data-img="/website_airproof/static/src/img/builder/header_opt.svg"
            t-out="_label"/>
    </xpath>
</template>