@@ -10,6 +10,8 @@ In this chapter, you will learn how to:
10
10
- Create a dropdown menu.
11
11
- Create a mega menu.
12
12
13
+ .. _website_themes/navigation/default :
14
+
13
15
Default
14
16
=======
15
17
@@ -30,6 +32,8 @@ Delete default menu items.
30
32
<delete model =" website.menu" search =" [('url','in', ['/', '/shop']),
31
33
('website_id', '=', 1)]" />
32
34
35
+ .. _website_themes/navigation/menu :
36
+
33
37
Menu item
34
38
=========
35
39
@@ -66,6 +70,8 @@ Menu item
66
70
* - sequence
67
71
- Defines the link's position in the top menu.
68
72
73
+ .. _website_themes/navigation/menu/new_window :
74
+
69
75
New window
70
76
----------
71
77
@@ -77,6 +83,8 @@ Open the link's URL in a new tab.
77
83
<field name =" new_window" eval =" True" />
78
84
</record >
79
85
86
+ .. _website_themes/navigation/menu/external_links :
87
+
80
88
External Links
81
89
--------------
82
90
@@ -88,6 +96,8 @@ Add a link to an external website.
88
96
<field name =" url" >https://www.odoo.com</field >
89
97
</record >
90
98
99
+ .. _website_themes/navigation/menu/anchor :
100
+
91
101
Anchor
92
102
------
93
103
@@ -99,6 +109,8 @@ Link to a specific section of a page.
99
109
<field name =" url" >/about-us#our-team</field >
100
110
</record >
101
111
112
+ .. _website_themes/navigation/dropdown :
113
+
102
114
Dropdown menu
103
115
=============
104
116
@@ -138,31 +150,72 @@ Add an item to a dropdown menu.
138
150
* - parent_id
139
151
- The dropdown in which the item will be added.
140
152
153
+ .. _website_themes/navigation/mega_menu :
154
+
141
155
Mega menu
142
156
=========
143
157
144
158
A mega menu is a dropdown menu with additional possibilities and not just a list of links. In a
145
159
mega menu, you can use any kind of content (text, images, icons, ...).
146
160
161
+ In Odoo, you can select a mega-menu template in the list. If you don't need a custom layout, you
162
+ can re-use the template structure in the `mega_menu_content ` field like any static content.
163
+
147
164
**Declaration **
148
165
149
166
.. code-block :: xml
150
167
:caption: ``/website_airproof/data/menu.xml``
151
168
152
- <record id =" menu_mega_menu" model =" website.menu" >
153
- <field name =" name" >Mega Menu</field >
154
- <field name =" url" >/mega-menu</field >
155
- <field name =" parent_id" search =" [
156
- ('url', '=', '/default-main-menu'),
157
- ('website_id', '=', 1)]" />
158
- <field name =" website_id" >1</field >
159
- <field name =" sequence" type =" int" >..</field >
160
- <field name =" is_mega_menu" eval =" True" />
161
- <field name =" mega_menu_classes" >...</field >
162
- <field name =" mega_menu_content" type =" html" >
163
- <!-- Content -->
164
- </field >
165
- </record >
169
+ <record id =" menu_mega_menu" model =" website.menu" >
170
+ <field name =" name" >Mega Menu</field >
171
+ <field name =" parent_id" search =" [
172
+ ('url', '=', '/default-main-menu'),
173
+ ('website_id', '=', 1)]" />
174
+ <field name =" website_id" >1</field >
175
+ <field name =" sequence" type =" int" >..</field >
176
+ <field name =" is_mega_menu" eval =" True" />
177
+ <field name =" mega_menu_classes" >...</field >
178
+ <field name =" mega_menu_content" type =" html" >
179
+ <section class =" s_mega_menu_multi_menus py-4 o_colored_level o_cc o_cc1" >
180
+ <div class =" container" >
181
+ <div class =" row" >
182
+ <div class =" col-12 col-sm py-2 text-center" >
183
+ <h4 class =" o_default_snippet_text" >First Menu</h4 >
184
+ <nav class =" nav flex-column" >
185
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 1</a >
186
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 2</a >
187
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 3</a >
188
+ </nav >
189
+ </div >
190
+ <div class =" col-12 col-sm py-2 text-center" >
191
+ <h4 class =" o_default_snippet_text" >Second Menu</h4 >
192
+ <nav class =" nav flex-column" >
193
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 1</a >
194
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 2</a >
195
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 3</a >
196
+ </nav >
197
+ </div >
198
+ <div class =" col-12 col-sm py-2 text-center" >
199
+ <h4 class =" o_default_snippet_text" >Third Menu</h4 >
200
+ <nav class =" nav flex-column" >
201
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 1</a >
202
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 2</a >
203
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 3</a >
204
+ </nav >
205
+ </div >
206
+ <div class =" col-12 col-sm py-2 text-center" >
207
+ <h4 class =" o_default_snippet_text" >Last Menu</h4 >
208
+ <nav class =" nav flex-column" >
209
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 1</a >
210
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 2</a >
211
+ <a href =" #" class =" nav-link o_default_snippet_text" data-name =" Menu Item" >Menu Item 3</a >
212
+ </nav >
213
+ </div >
214
+ </div >
215
+ </div >
216
+ </section >
217
+ </field >
218
+ </record >
166
219
167
220
.. list-table ::
168
221
:header-rows: 1
@@ -178,6 +231,12 @@ mega menu, you can use any kind of content (text, images, icons, ...).
178
231
* - mega_menu_content
179
232
- The default content of the mega menu
180
233
234
+ Beside that, you might need to create something more visually advanced with a custom template.
235
+ Feel free to check how the `standard templates <{GITHUB_PATH}/addons/website/views/snippets/s_mega_menu_odoo_menu.xml >`_
236
+ are built in the Odoo source code.
237
+
238
+ .. _website_themes/navigation/mega_menu/custom :
239
+
181
240
Custom template
182
241
---------------
183
242
@@ -205,7 +264,7 @@ Use the following code to add an option for your new custom mega menu on the Web
205
264
<xpath expr =" //*[@data-name='mega_menu_template_opt']/*" position =" before" >
206
265
<t t-set =" _label" >Airproof</t >
207
266
<we-button t-att-data-select-label =" _label"
208
- data-select-template =" website_website_airproof .s_mega_menu_airproof"
267
+ data-select-template =" website_airproof .s_mega_menu_airproof"
209
268
data-img =" /website_airproof/static/src/img/builder/header_opt.svg"
210
269
t-out =" _label" />
211
270
</xpath >
0 commit comments