1<#assign cache = cacheUtils.getCacheManager(themeDisplay.getScopeGroupId())! />
2
3<#if cache??>
4
5 <#macro initSupraMenus>
6 <#if shortcuts.shortcutsShortcut.getSiblings()?has_content>
7 <#assign
8 leftColumnShortcuts = []
9 rightColumnLeftBlockShortcuts = []
10 rightColumnRightBlockShortcuts = []
11 />
12
13 <#list shortcuts.shortcutsShortcut.getSiblings() as curShortcut>
14 <#assign pos = curShortcut.shortcutsShortcutPos.getData()/>
15 <#if pos == "C1">
16 <#assign leftColumnShortcuts = leftColumnShortcuts + [curShortcut] />
17 <#elseif pos == "C2">
18 <#assign rightColumnLeftBlockShortcuts = rightColumnLeftBlockShortcuts + [curShortcut] />
19 <#elseif pos == "C3">
20 <#assign rightColumnRightBlockShortcuts = rightColumnRightBlockShortcuts + [curShortcut] />
21 </#if>
22 </#list>
23
24 <@initSupramenuShortcuts leftColumnShortcuts true />
25 <@initSupramenuShortcuts rightColumnLeftBlockShortcuts rightColumnRightBlockShortcuts?has_content />
26 <@initSupramenuShortcuts rightColumnRightBlockShortcuts false />
27
28 <#assign
29 html = ""
30 icon = shortcuts.shortcutsCta.shortcutsCtaIcon.getData()
31 iconWidth = shortcuts.shortcutsCta.shortcutsCtaWidth.getData()
32 iconHeight = shortcuts.shortcutsCta.shortcutsCtaHeight.getData()
33 text = shortcuts.shortcutsCta.shortcutsCtaText.getData()
34 link = (shortcuts.shortcutsCta.shortcutsCtaLink.getData()?has_content)?string(cache.parseLinkURL(request, shortcuts.shortcutsCta.shortcutsCtaLink.getData()), "")
35 target = (link?has_content)?string((shortcuts.shortcutsCta.shortcutsCtaTargetLink.getData()?has_content)?string(shortcuts.shortcutsCta.shortcutsCtaTargetLink.getData(), cache.getLinkTarget(link)), "")
36 />
37
38 <#if link?has_content>
39 <#assign html += "<a class=\"supramenu__btn\" href=\"" + link + "\" target=\"" + target + "\">" />
40 </#if>
41 <#if icon?has_content>
42 <#assign style = "" />
43 <#if iconWidth?has_content && iconWidth != "0">
44 <#assign style += "width: " + iconWidth + "px;" />
45 </#if>
46 <#if iconHeight?has_content && iconHeight != "0">
47 <#assign style += "height: " + iconHeight + "px;" />
48 </#if>
49
50 <#if text?has_content>
51 <#assign html += "<img class=\"icon-right-space\" alt=\"" + shortcuts.shortcutsCta.shortcutsCtaIcon.getAttribute("alt") + "\" data-fileentryid=\"" + shortcuts.shortcutsCta.shortcutsCtaIcon.getAttribute("fileEntryId") + "\" src=\"" + icon + "\" title=\"" + text + "\" style=\"" + style + "\" />" /> 52 <#else>
53 <#assign html += "<img alt=\"" + shortcuts.shortcutsCta.shortcutsCtaIcon.getAttribute("alt") + "\" data-fileentryid=\"" + shortcuts.shortcutsCta.shortcutsCtaIcon.getAttribute("fileEntryId") + "\" src=\"" + icon + "\" title=\"" + shortcuts.shortcutsCta.shortcutsCtaIcon.getAttribute("alt") + "\" style=\"" + style + "\" />" /> 54 </#if>
55 </#if>
56 <#if text?has_content>
57 <#assign html += "<div><span>" + text + "</span></div>" />
58 </#if>
59 <#if link?has_content>
60 <#assign html += "</a>" />
61 </#if>
62
63
64 <#if html?has_content>
65 <#assign htmlCCta += html />
66 </#if>
67 </#if>
68 </#macro>
69
70 <#macro initSupramenuShortcuts supramenuShortcuts includeSeparator>
71 <#list supramenuShortcuts as curShortcut>
72 <#assign
73 pos = curShortcut.shortcutsShortcutPos.getData()
74 icon = curShortcut.shortcutsShortcutIcon.getData()
75 iconWidth = curShortcut.shortcutsShortcutWidth.getData()
76 iconHeight = curShortcut.shortcutsShortcutHeight.getData()
77 text = curShortcut.shortcutsShortcutText.getData()
78 link = (curShortcut.shortcutsShortcutLink.getData()?has_content)?string(cache.parseLinkURL(request, curShortcut.shortcutsShortcutLink.getData()), "")
79 target = (link?has_content)?string((curShortcut.shortcutsShortcutTargetLink.getData()?has_content)?string(curShortcut.shortcutsShortcutTargetLink.getData(), cache.getLinkTarget(link)), "")
80 isComparator = curShortcut.shortcutsShortcutComparator?? && getterUtil.getBoolean(curShortcut.shortcutsShortcutComparator.getData())
81 isFavorites = curShortcut.shortcutsShortcutFavorites?? && getterUtil.getBoolean(curShortcut.shortcutsShortcutFavorites.getData())
82 />
83
84 <#assign html = "" />
85 <#assign cssLiClass = "supramenu__item supramenu__shortcut" />
86
87 <#if isComparator>
88 <#assign
89 cssLiClass = cssLiClass + " comparator-icon"
90 />
91 <#elseif isFavorites>
92 <#assign
93 cssLiClass = cssLiClass + " favorites-icon"
94 />
95 </#if>
96
97 <#if includeSeparator && ((pos == "C1" && curShortcut?is_first) || (pos == "C2" && curShortcut?is_last))>
98 <#assign cssLiClass = cssLiClass + " supramenu__shortcut--separator" />
99 <#elseif pos == "C3">
100 <#assign cssLiClass = cssLiClass + " supramenu__shortcut--icon" />
101 </#if>
102
103 <#assign html += "<li class=\"${cssLiClass}\">" /> 104
105 <#if link?has_content>
106 <#assign html += "<a class=\"supramenu__link\" href=\"" + link + "\" target=\"" + target + "\">" />
107 </#if>
108 <#if isComparator>
109 <#assign html += "<i class=\"icon-cards\"></i>"/>
110 <#elseif isFavorites>
111 <#assign html += "<i class=\"icon-favourite\"></i>"/>
112 <#elseif icon?has_content>
113 <#assign style = "" />
114 <#if iconWidth?has_content && iconWidth != "0">
115 <#assign style += "width: " + iconWidth + "px;" />
116 </#if>
117 <#if iconHeight?has_content && iconHeight != "0">
118 <#assign style += "height: " + iconHeight + "px;" />
119 </#if>
120
121 <#if text?has_content>
122 <#assign html += "<img class=\"icon-right-space\" alt=\"" + curShortcut.shortcutsShortcutIcon.getAttribute("alt") + "\" data-fileentryid=\"" + curShortcut.shortcutsShortcutIcon.getAttribute("fileEntryId") + "\" src=\"" + icon + "\" title=\"" + text + "\" style=\"" + style + "\" />" /> 123 <#else>
124 <#assign html += "<img alt=\"" + curShortcut.shortcutsShortcutIcon.getAttribute("alt") + "\" data-fileentryid=\"" + curShortcut.shortcutsShortcutIcon.getAttribute("fileEntryId") + "\" src=\"" + icon + "\" title=\"" + curShortcut.shortcutsShortcutIcon.getAttribute("alt") + "\" style=\"" + style + "\" />" /> 125 </#if>
126 </#if>
127 <#if text?has_content>
128 <#assign html += "<div><span>" + text + "</span></div>" />
129 </#if>
130 <#if link?has_content>
131 <#assign html += "</a>" />
132 </#if>
133 <#assign html += "</li>" />
134
135
136 <#if html?has_content>
137 <#if pos == "C1">
138 <#assign htmlC1 += html />
139 <#elseif pos == "C2">
140 <#assign htmlC2 += html />
141 <#elseif pos == "C3">
142 <#assign htmlC3 += html />
143 </#if>
144 </#if>
145 </#list>
146 </#macro>
147
148 <#macro drawDesktopMainMenu>
149 <ul class="main-menu__list d-none d-lg-flex" id="laufen-main-menu-list">
150 <#list mainMenu.mainMenuItems.getSiblings() as curMenuItem>
151 <li class="main-menu__item js-collapse-sm">
152 <#assign
153 type = curMenuItem.mainMenuItemsType.getData()
154 text = curMenuItem.mainMenuItemsText.getData()
155 link = (curMenuItem.mainMenuLink.getData()?has_content)?string(cache.parseLinkURL(request, curMenuItem.mainMenuLink.getData()), "")
156 target = (link?has_content)?string((curMenuItem.mainMenuItemsTargetLink.getData()?has_content)?string(curMenuItem.mainMenuItemsTargetLink.getData(), cache.getLinkTarget(link)), "")
157 sideMenuCategoryIndex = curMenuItem?index + 1
158 sideMenuCategory = type + "-" + sideMenuCategoryIndex
159 />
160
161 <div class="link-wrapper">
162 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsOpenSide.getData())>
163 <a class="main-menu__link js-open-side-menu text-uppercase" href="javascript:void(0);" data-category="${sideMenuCategory}" title="${text}"> 164 <#elseif link?has_content>
165 <a class="main-menu__link text-uppercase" href="${link}" target="${target}" title="${text}"> 166 </#if>
167
168 ${text} 169
170 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsOpenSide.getData()) || link?has_content>
171 </a>
172 </#if>
173 </div>
174
175 <#assign categoriesWithChildren = [] />
176 <#assign sectionsWithSubitems = [] />
177
178 <div id="sideMenuCategory--${sideMenuCategory}" class="side-menu__category js-side-category-move" data-level="1"> 179 <#if (type == "PRODUCTS")>
180 <#assign categoriesWithOnlyFirstLevel =
181 (curMenuItem.mainMenuItemsFirstLevelCategories??
182 && curMenuItem.mainMenuItemsFirstLevelCategories.getData()?has_content)
183 ?then(
184 curMenuItem.mainMenuItemsFirstLevelCategories.getData()?split(",")?map(x -> x?trim), 185 []
186 )
187 />
188
189 <div class="side-menu__body">
190 <span class="side-menu-back-btn js-side-menu-back-btn d-flex align-items-center d-lg-none">
191 <i class="icon-arrow-left"></i>
192 ${cache.translate(locale, "Back")} 193 </span>
194
195 <div class="side-menu__see-all <#if text?length gt 15>long-title</#if>">
196 <div class="side-menu__see-all-title-container">
197 <span class="side-menu__see-all-title">
198 ${text} 199 </span>
200 </div>
201
202 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsShowLink.getData())>
203 <div class="side-menu__see-all-link-container">
204 <a class="side-menu__see-all-link" href="${link}"> 205 <div>
206 <span>${cache.translate(locale, "Show all")}</span> 207 </div>
208
209 <i class="icon-arrow-right"></i>
210 </a>
211 </div>
212 </#if>
213 </div>
214
215 <ul class="side-menu__body-links">
216 <#list p_Map?sort_by("websort") as item> 217 <#assign currentItemChildren = "" />
218 <li class="side-menu__body-item">
219 <div class="link-wrapper">
220 <#if !categoriesWithOnlyFirstLevel?seq_contains(item.code)>
221 <#assign currentItemChildren = cache.getSecondLevelCategories(request, item.code)?eval />
222 </#if>
223
224 <#if currentItemChildren?? && getterUtil.getBoolean(currentItemChildren?has_content)>
225 <#-- Se incluye la categoria que tiene hijos en la lista de categorias con hijos-->
226 <#assign itemData = { 227 "original": item,
228 "parentSideCategoryMenu": sideMenuCategory,
229 "children": currentItemChildren
230 } />
231
232 <#assign categoriesWithChildren = categoriesWithChildren + [itemData] />
233
234 <a class="side-menu__body-link js-open-side-menu justify-content-between" href="javascript:void(0);" data-category="${item.code}"> 235 <#elseif item.url?has_content>
236 <a class="side-menu__body-link justify-content-between" href="${item.url}"> 237 <#else>
238 <a class="side-menu__body-link justify-content-between" href="javascript:void(0);">
239 </#if>
240
241 <div class="d-flex align-items-center justify-content-start">
242 <#if item.title?has_content>
243 <img src="${item.image!}" alt="${item.title}"> 244 <#else>
245 <img src="${item.image!}"> 246 </#if>
247
248 <#if item.title?has_content>
249 <span>${item.title}</span> 250 <#else>
251 <span></span>
252 </#if>
253 </div>
254
255 <#if getterUtil.getBoolean(currentItemChildren?has_content)>
256 <i class="icon-chevron-right"></i>
257 </#if>
258
259 </a>
260 </div>
261 </li>
262 </#list>
263 </ul>
264
265 <#if curMenuItem.mainMenuItemsBanners.getSiblings()?has_content>
266 <div class="side-menu__banner-section">
267 <div id="${sideMenuCategory}-banner" class="side-menu__banner-content"> 268 <div class="side-menu__banner-container">
269 <div class="side-menu__banner">
270 <div class="side-menu__banner-slider" id="${sideMenuCategory}-side-menu__banner-slider"> 271 <div class="side-menu__banner-slider-container">
272 <#if (curMenuItem.mainMenuItemsBanners.getSiblings()?filter(b -> b.mainMenuItemsBannersType?? && b.mainMenuItemsBannersType.getData() == "slider")?size > 0)>
273 <div class="side-menu__banner-slider-buttons">
274 <button class="side-menu__banner-slider-button prev icon-chevron-left disabled" onclick="showMenuCarouselItem('${sideMenuCategory}-side-menu__banner-slider', -1);"></button> 275 <button class="side-menu__banner-slider-button next icon-chevron-right" onclick="showMenuCarouselItem('${sideMenuCategory}-side-menu__banner-slider', 1);"></button> 276 </div>
277 </#if>
278
279 <div class="side-menu__banner-slider-content" data-index="0">
280 <#list curMenuItem.mainMenuItemsBanners.getSiblings()?filter(b -> b.mainMenuItemsBannersType?? && b.mainMenuItemsBannersType.getData() == "slider") as curBanner>
281 <#assign
282 bannerType = curBanner.mainMenuItemsBannersType.getData()
283 img = curBanner.mainMenuItemsBannersImage.getData()
284 text = curBanner.mainMenuItemsBannersText.getData()
285 link = (curBanner.mainMenuItemsBannersLink.getData()?has_content)?string(cache.parseLinkURL(request, curBanner.mainMenuItemsBannersLink.getData()), "")
286 target = (link?has_content)?string((curBanner.mainMenuItemsBannersTargetLink.getData()?has_content)?string(curBanner.mainMenuItemsBannersTargetLink.getData(), cache.getLinkTarget(link)), "")
287 />
288
289 <#if img?has_content>
290 <div class="side-menu__banner-item ${bannerType}" style="background-image: url('${img}')"> 291 <#if link?has_content>
292 <a href="${link}" target="${target}"> 293 </#if>
294
295 <#if text?has_content>
296 <div class="banner-text-container">
297 <span>${text}</span> 298 </div>
299 </#if>
300
301 <#if link?has_content>
302 </a>
303 </#if>
304 </div>
305 </#if>
306 </#list>
307 </div>
308 </div>
309 </div>
310
311 <#list curMenuItem.mainMenuItemsBanners.getSiblings()?filter(b -> b.mainMenuItemsBannersType?? && b.mainMenuItemsBannersType.getData() != "slider") as curBanner>
312 <#assign
313 bannerType = curBanner.mainMenuItemsBannersType.getData()
314 img = curBanner.mainMenuItemsBannersImage.getData()
315 text = curBanner.mainMenuItemsBannersText.getData()
316 link = (curBanner.mainMenuItemsBannersLink.getData()?has_content)?string(cache.parseLinkURL(request, curBanner.mainMenuItemsBannersLink.getData()), "")
317 target = (link?has_content)?string((curBanner.mainMenuItemsBannersTargetLink.getData()?has_content)?string(curBanner.mainMenuItemsBannersTargetLink.getData(), cache.getLinkTarget(link)), "")
318 />
319
320 <#if img?has_content>
321 <div class="side-menu__banner-item ${bannerType}" style="background-image: url('${img}')"> 322 <#if link?has_content>
323 <a href="${link}" target="${target}"> 324 </#if>
325
326 <#if text?has_content>
327 <div class="banner-text-container">
328 <span>${text}</span> 329 </div>
330 </#if>
331
332 <#if link?has_content>
333 </a>
334 </#if>
335 </div>
336 </#if>
337 </#list>
338 </div>
339 </div>
340 </div>
341 </div>
342 </#if>
343 </div>
344 <#elseif (type == "LINK")>
345 <#assign
346 type = curMenuItem.mainMenuItemsType.getData()
347 sideMenuCategoryIndex = curMenuItem?index + 1
348 sideMenuCategory = type + "-" + sideMenuCategoryIndex
349 />
350
351 <#if curMenuItem.mainMenuItemsSections.getSiblings()?has_content>
352 <div class="side-menu__body">
353 <span class="side-menu-back-btn js-side-menu-back-btn d-flex align-items-center d-lg-none">
354 <i class="icon-arrow-left"></i>
355 ${cache.translate(locale, "Back")} 356 </span>
357
358 <div class="side-menu__see-all <#if text?length gt 15>long-title</#if>">
359 <div class="side-menu__see-all-title-container">
360 <span class="side-menu__see-all-title">
361 ${text} 362 </span>
363 </div>
364
365 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsShowLink.getData())>
366 <div class="side-menu__see-all-link-container">
367 <a class="side-menu__see-all-link" href="${link}"> 368 <div>
369 <span>${cache.translate(locale, "Show all")}</span> 370 </div>
371
372 <i class="icon-arrow-right"></i>
373 </a>
374 </div>
375 </#if>
376 </div>
377
378 <ul class="side-menu__body-links">
379 <#list curMenuItem.mainMenuItemsSections.getSiblings() as curSection>
380 <#assign
381 text = curSection.mainMenuItemsSectionsText.getData()
382 link = (curSection.mainMenuItemsSectionsLink.getData()?has_content)?string(cache.parseLinkURL(request, curSection.mainMenuItemsSectionsLink.getData()), "")
383 target = (link?has_content)?string((curSection.mainMenuItemsSectionsTargetLink.getData()?has_content)?string(curSection.mainMenuItemsSectionsTargetLink.getData(), cache.getLinkTarget(link)), "")
384 sideMenuCategorySectionIndex = curSection?index + 1
385 sideMenuSectionCategory = type + "-" + sideMenuCategoryIndex + "-SECTION-" + sideMenuCategorySectionIndex
386 />
387
388 <li class="side-menu__body-item side-menu__section">
389 <div class="link-wrapper">
390 <#assign
391 sectionSubitems = curSection.mainMenuItemsSectionsSubitems.getSiblings()
392 hasSubitems = sectionSubitems?has_content &&
393 !(sectionSubitems?size == 1 &&
394 (!sectionSubitems[0]?has_content
395 || (sectionSubitems[0].mainMenuItemsSectionsSubitemsText.getData() == "" || (sectionSubitems[0].mainMenuItemsSectionsSubitemsLink.getData()?has_content)?string(cache.parseLinkURL(request, sectionSubitems[0].mainMenuItemsSectionsSubitemsLink.getData()), "") == "")))
396 />
397
398 <#if hasSubitems>
399 <#assign sectionData = { 400 "original": curSection,
401 "sideMenuCategory": sideMenuCategory,
402 "sideMenuSectionCategory": sideMenuSectionCategory
403 } />
404
405 <#assign sectionsWithSubitems = sectionsWithSubitems + [sectionData] />
406
407 <a class="side-menu__body-link js-open-side-menu justify-content-between" href="javascript:void(0);" data-category="${sideMenuSectionCategory}"> 408 <#elseif link?has_content>
409 <a class="side-menu__body-link" href="${link}" target="${target}"> 410 <#else>
411 <a class="side-menu__body-link" href="javascript:void(0);">
412 </#if>
413
414 <div class="d-flex align-items-center justify-content-start">
415 <span>
416 ${text} 417 </span>
418 </div>
419
420 <#if hasSubitems>
421 <i class="icon-chevron-right"></i>
422 </#if>
423
424 </a>
425 </div>
426 </li>
427 </#list>
428 </ul>
429
430 <#if curMenuItem.mainMenuItemsBanners.getSiblings()?has_content>
431 <div class="side-menu__banner-section">
432 <div id="${sideMenuCategory}-banner" class="side-menu__banner-content"> 433 <div class="side-menu__banner-container">
434 <div class="side-menu__banner" data-index="0">
435 <#list curMenuItem.mainMenuItemsBanners.getSiblings() as curBanner>
436 <#assign
437 bannerType = curBanner.mainMenuItemsBannersType.getData()
438 img = curBanner.mainMenuItemsBannersImage.getData()
439 text = curBanner.mainMenuItemsBannersText.getData()
440 link = (curBanner.mainMenuItemsBannersLink.getData()?has_content)?string(cache.parseLinkURL(request, curBanner.mainMenuItemsBannersLink.getData()), "")
441 target = (link?has_content)?string((curBanner.mainMenuItemsBannersTargetLink.getData()?has_content)?string(curBanner.mainMenuItemsBannersTargetLink.getData(), cache.getLinkTarget(link)), "")
442 />
443
444 <#if img?has_content>
445 <div class="side-menu__banner-item ${bannerType}" style="background-image: url('${img}')"> 446 <#if link?has_content>
447 <a href="${link}" target="${target}"> 448 </#if>
449
450 <#if text?has_content>
451 <div class="banner-text-container">
452 <span>${text}</span> 453 </div>
454 </#if>
455
456 <#if link?has_content>
457 </a>
458 </#if>
459 </div>
460 </#if>
461 </#list>
462 </div>
463 </div>
464 </div>
465 </div>
466 </#if>
467 </div>
468 </#if>
469 </#if>
470 </div>
471
472 <#-- PANELES DE SUBCATEGORIAS -->
473 <#if categoriesWithChildren?has_content>
474 <#list categoriesWithChildren as itemData>
475 <#assign
476 item = itemData.original
477 parentSideCategoryMenu = itemData.parentSideCategoryMenu
478 children = itemData.children
479 />
480
481 <div id="sideMenuCategory--${item.code}" class="side-menu__category js-side-category-move" data-level="2" data-parent-panel="${parentSideCategoryMenu}"> 482 <div class="side-menu__body">
483 <div class="side-menu__see-all <#if item.title?length gt 15>long-title</#if>">
484 <div class="side-menu__see-all-title-container side-menu__subcategories-title-container">
485 <span class="side-menu-back-btn js-side-menu-back-btn d-flex align-items-center d-lg-none">
486 <i class="icon-arrow-left"></i>
487 ${cache.translate(locale, "Back")} 488 </span>
489
490 <#if item.url?has_content>
491 <a class="side-menu__see-all-title" href="${item.url}"> 492 <div>
493 <span>${item.title}</span> 494 </div>
495
496 <i class="icon-arrow-right"></i>
497 </a>
498 <#else>
499 <span class="side-menu__see-all-title">
500 ${item.title} 501 </span>
502 </#if>
503 </div>
504 </div>
505
506 <ul class="side-menu__body-links">
507 <#if children?? && children?has_content>
508 <#list children?sort_by("websort") as child> 509 <li class="side-menu__body-item" data-websort="${child.websort}"> 510 <div class="link-wrapper">
511 <a class="side-menu__body-link" <#if child.url?has_content>href="${child.url}"</#if>> 512 <#if child.title?has_content>
513 <div class="d-flex align-items-center justify-content-start">
514 <span>${child.title}</span> 515 </div>
516 <#else>
517 <span></span>
518 </#if>
519 </a>
520 </div>
521 </li>
522 </#list>
523 </#if>
524 </ul>
525 </div>
526 </div>
527 </#list>
528 </#if>
529
530
531 <#-- PANELES DE SUBITEMS DE SECCION -->
532 <#if sectionsWithSubitems?has_content>
533 <#list sectionsWithSubitems as sectionData>
534 <#assign
535 curSection = sectionData.original
536 sideMenuCategory = sectionData.sideMenuCategory
537 sideMenuSectionCategory = sectionData.sideMenuSectionCategory
538 text = curSection.mainMenuItemsSectionsText.getData()
539 link = (curSection.mainMenuItemsSectionsLink.getData()?has_content)?string(cache.parseLinkURL(request, curSection.mainMenuItemsSectionsLink.getData()), "")
540 target = (link?has_content)?string((curSection.mainMenuItemsSectionsTargetLink.getData()?has_content)?string(curSection.mainMenuItemsSectionsTargetLink.getData(), cache.getLinkTarget(link)), "")
541 />
542
543 <div id="sideMenuCategory--${sideMenuSectionCategory}" class="side-menu__category js-side-category-move" data-level="2" data-parent-panel="${sideMenuCategory}"> 544 <div class="side-menu__body">
545 <span class="side-menu-back-btn js-side-menu-back-btn d-flex align-items-center d-lg-none">
546 <i class="icon-arrow-left"></i>
547 ${cache.translate(locale, "Back")} 548 </span>
549
550 <div class="side-menu__see-all <#if text?length gt 15>long-title</#if>">
551 <div class="side-menu__see-all-title-container">
552 <#if link?has_content>
553 <a class="side-menu__see-all-title" href="${link}" target="${target}"> 554 <div>
555 <span>${text}</span> 556 </div>
557
558 <i class="icon-arrow-right"></i>
559 </a>
560 <#else>
561 <span class="side-menu__see-all-title">
562 ${text} 563 </span>
564 </#if>
565 </div>
566 </div>
567
568 <ul class="side-menu__body-links">
569 <#if curSection.mainMenuItemsSectionsSubitems.getSiblings()?has_content>
570 <#list curSection.mainMenuItemsSectionsSubitems.getSiblings() as curSubitem>
571 <#assign
572 text = curSubitem.mainMenuItemsSectionsSubitemsText.getData()
573 link = (curSubitem.mainMenuItemsSectionsSubitemsLink.getData()?has_content)?string(cache.parseLinkURL(request, curSubitem.mainMenuItemsSectionsSubitemsLink.getData()), "")
574 target = (link?has_content)?string((curSubitem.mainMenuItemsSectionsSubitemsTargetLink.getData()?has_content)?string(curSubitem.mainMenuItemsSectionsSubitemsTargetLink.getData(), cache.getLinkTarget(link)), "")
575 />
576 <li class="side-menu__body-item">
577 <div class="link-wrapper">
578 <a class="side-menu__body-link" <#if link?has_content>href="${link}"</#if> <#if target?has_content>target="${target}"</#if>> 579 <#if text?has_content>
580 <div class="d-flex align-items-center justify-content-start">
581 <span>${text}</span> 582 </div>
583 </#if>
584 </a>
585 </div>
586 </li>
587 </#list>
588 </#if>
589 </ul>
590 </div>
591 </div>
592 </#list>
593 </#if>
594 </li>
595 </#list>
596 </ul>
597 </#macro>
598
599 <#macro drawSideMenu sideMenuType>
600 <#if sideMenuType == "MENU">
601 <div id="sideMenu" class="side-menu">
602 <div class="side-menu-container">
603 <div class="side-menu__body">
604 <div class="side-menu__close d-none d-lg-flex">
605 <img alt="Laufen Swiss Bathroom" class="laufen-logo-mini" src="${themeDisplay.getPathThemeImages()}/brand/brand-logo-mini.svg"/> 606 <i class="icon-close icon-close side-menu-close-btn js-side-menu-close-btn"></i>
607 </div>
608
609 <ul class="side-menu__body-links" id="laufen-side-menu-links">
610 <#list mainMenu.mainMenuItems.getSiblings() as curMenuItem>
611 <li class="side-menu__body-item">
612 <#assign
613 type = curMenuItem.mainMenuItemsType.getData()
614 text = curMenuItem.mainMenuItemsText.getData()
615 link = (curMenuItem.mainMenuLink.getData()?has_content)?string(cache.parseLinkURL(request, curMenuItem.mainMenuLink.getData()), "")
616 target = (link?has_content)?string((curMenuItem.mainMenuItemsTargetLink.getData()?has_content)?string(curMenuItem.mainMenuItemsTargetLink.getData(), cache.getLinkTarget(link)), "")
617 sideMenuCategoryIndex = curMenuItem?index + 1
618 sideMenuCategory = type + "-" + sideMenuCategoryIndex
619 />
620
621 <div class="link-wrapper">
622 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsOpenSide.getData())>
623 <a class="side-menu__body-link js-open-side-menu text-uppercase" href="javascript:void(0);" data-category="${sideMenuCategory}" title="${text}"> 624 <#elseif link?has_content>
625 <a class="side-menu__body-link text-uppercase" href="${link}" target="${target}" title="${text}"> 626 </#if>
627
628 <span>
629 ${text} 630 </span>
631
632 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsOpenSide.getData())>
633 <i class="icon-chevron-right"></i>
634 </#if>
635
636 <#if getterUtil.getBoolean(curMenuItem.mainMenuItemsOpenSide.getData()) || link?has_content>
637 </a>
638 </#if>
639 </div>
640 </#list>
641 </ul>
642 </div>
643
644 <#if (getterUtil.getBoolean(sideMenu.sideMenuShowCountry.getData()) || getterUtil.getBoolean(sideMenu.sideMenuShowLanguage.getData())) || (sideMenu.sideMenuLinks.sideMenuLink.getSiblings()?has_content && sideMenu.sideMenuLinks.sideMenuLink.getSiblings()[0].sideMenuLinkURL.getData()?has_content)>
645 <div class="side-menu__footer">
646 <ul class="side-menu__footer-links">
647 <#list sideMenu.sideMenuLinks.sideMenuLink.getSiblings() as curLink>
648 <#assign
649 icon = curLink.sideMenuLinkIcon.getData()
650 iconWidth = curLink.sideMenuLinkWidth.getData()
651 iconHeight = curLink.sideMenuLinkHeight.getData()
652 text = curLink.sideMenuLinkText.getData()
653 link = (curLink.sideMenuLinkURL.getData()?has_content)?string(cache.parseLinkURL(request, curLink.sideMenuLinkURL.getData()), "")
654 target = (link?has_content)?string((curLink.sideMenuLinkTarget.getData()?has_content)?string(curLink.sideMenuLinkTarget.getData(), cache.getLinkTarget(link)), "")
655 />
656
657 <li class="side-menu__footer-item">
658 <a class="side-menu__footer-link" href="${link}" target="${target}"> 659 <#if icon?has_content>
660 <#assign style = "" />
661 <#if iconWidth?has_content && iconWidth != "0">
662 <#assign style += "width: " + iconWidth + "px;" />
663 </#if>
664 <#if iconHeight?has_content && iconHeight != "0">
665 <#assign style += "height: " + iconHeight + "px;" />
666 </#if>
667
668 <#if text?has_content>
669 <img class="icon-right-space" alt="${curLink.sideMenuLinkIcon.getAttribute("alt")}" data-fileentryid="${curLink.sideMenuLinkIcon.getAttribute("fileEntryId")}" src="${icon}" title="${text}" style="${style}"/> 670 <#else>
671 <img alt="${curLink.sideMenuLinkIcon.getAttribute("alt")}" data-fileentryid="${curLink.sideMenuLinkIcon.getAttribute("fileEntryId")}" src="${icon}" style="${style}" /> 672 </#if>
673 </#if>
674
675 <div><span>${text}</span></div> 676 </a>
677 </li>
678 </#list>
679
680
681 <#if getterUtil.getBoolean(sideMenu.sideMenuShowCountry.getData()) || getterUtil.getBoolean(sideMenu.sideMenuShowLanguage.getData()) || getterUtil.getBoolean(sideMenu.sideMenuShowAdditionalLink.getData())>
682 <#assign linkLocation = "" />
683 <#if sideMenu.sideMenuAdditionalLink?? && sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkLocation??>
684 <#assign linkLocation = sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkLocation.getData() />
685 </#if>
686
687 <li class="side-menu__footer-item additional-info ${linkLocation}"> 688 <#if getterUtil.getBoolean(sideMenu.sideMenuShowCountry.getData()) || getterUtil.getBoolean(sideMenu.sideMenuShowLanguage.getData())>
689 <div class="side-menu__footer-item--country menu-country-trigger">
690 <a class="side-menu__footer-link menu-country-link js-open-side-menu" href="javascript:void(0)" data-category="LANGUAGE" data-groupid="${themeDisplay.getSiteGroupId()}" data-languageid="${themeDisplay.getLanguageId()}"> 691 <#if getterUtil.getBoolean(sideMenu.sideMenuShowCountry.getData())>
692 <span class="menu-country-text-link">
693 <i class="icon-language icon-right-space"></i>
694 <div><span>${currentCountry.getAssetCategory().getTitle(themeDisplay.getLocale())}</span></div> 695 </span>
696 </#if>
697
698 <#if getterUtil.getBoolean(sideMenu.sideMenuShowLanguage.getData()) && localeList?? && localeList?has_content && localeList?size gt 1>
699 <span class="menu-country-text-link">
700 <div>
701 <span class="text-uppercase">${themeDisplay.getLocale().getLanguage()}</span> 702 </div>
703 <i class="icon-chevron-down"></i>
704 </span>
705 </#if>
706 </a>
707 </div>
708 </#if>
709
710 <#if getterUtil.getBoolean(sideMenu.sideMenuShowAdditionalLink.getData())>
711 <#assign
712 icon = sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkIcon.getData()
713 iconWidth = sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkWidth.getData()
714 iconHeight = sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkHeight.getData()
715 text = sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkText.getData()
716 link = (sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkURL.getData()?has_content)?string(cache.parseLinkURL(request, sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkURL.getData()), "")
717 target = (link?has_content)?string((sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkTarget.getData()?has_content)?string(sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkTarget.getData(), cache.getLinkTarget(link)), "")
718 />
719
720 <a class="side-menu__footer-link" href="${link}" target="${target}"> 721 <#if icon?has_content>
722 <#assign style = "" />
723 <#if iconWidth?has_content && iconWidth != "0">
724 <#assign style += "width: " + iconWidth + "px;" />
725 </#if>
726 <#if iconHeight?has_content && iconHeight != "0">
727 <#assign style += "height: " + iconHeight + "px;" />
728 </#if>
729
730 <#if text?has_content>
731 <img class="icon-right-space" alt="${sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkIcon.getAttribute("alt")}" data-fileentryid="$sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkIcon.getAttribute("fileEntryId")}" src="${icon}" title="${text}" style="${style}"/> 732 <#else>
733 <img alt="${sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkIcon.getAttribute("alt")}" data-fileentryid="${sideMenu.sideMenuAdditionalLink.sideMenuAdditionalLinkIcon.getAttribute("fileEntryId")}" src="${icon}" style="${style}" /> 734 </#if>
735 </#if>
736
737 <div><span>${text}</span></div> 738 </a>
739 </#if>
740 </li>
741 </#if>
742 </ul>
743 </div>
744 </#if>
745 </div>
746 </div>
747
748 <div class="side-menu-overlay js-side-menu-overlay"></div>
749
750 <#elseif sideMenuType == "LANGUAGE"
751 && ((getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowLanguage.getData()))
752 || (getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowCountry.getData()) && currentCountry?? && currentCountry?has_content))>
753
754 <div id="sideMenuCategory--LANGUAGE" class="side-menu__category side-menu__language" data-level="0">
755 <div class="side-menu__body">
756 <div class="side-menu__close d-flex">
757 <span class="side-menu-back-btn js-side-menu-back-btn d-flex align-items-center d-lg-none">
758 <i class="icon-arrow-left"></i>
759 ${cache.translate(locale, "Back")} 760 </span>
761
762 <img alt="Laufen Swiss Bathroom" class="laufen-logo-mini" src="${themeDisplay.getPathThemeImages()}/brand/brand-logo-mini.svg"/> 763 <i class="icon-close icon-close side-menu-close-btn js-side-menu-close-btn d-none d-lg-block"></i>
764 </div>
765
766 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowLanguage.getData()) && localeList?? && localeList?has_content && localeList?size gt 1>
767 <div class="language-container">
768 <p class="language-selector-title text-uppercase">${cache.translate(locale, "Select language")}</p> 769
770 <ul class="language-list">
771 <#list localeList as marketLocale>
772 <#if themeDisplay.getLocale() != marketLocale>
773 <#assign lpath = "/" />
774 </#if>
775
776 <li class="language-list-item <#if themeDisplay.getLocale() == marketLocale>active</#if>">
777 <a href="${cache.getSiteURL(request, marketLocale, lpath, true)}"> 778 ${marketLocale.getDisplayLanguage(themeDisplay.getLocale())} 779 </a>
780 </li>
781 </#list>
782 </ul>
783 </div>
784 </#if>
785
786 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowCountry.getData()) && currentCountry?? && currentCountry?has_content>
787 <div class="country-selector-container">
788 <p class="language-selector-title text-uppercase">${cache.translate(locale, "Select your country")}</p> 789 </div>
790
791 <div id="continent-parent"></div>
792 </#if>
793 </div>
794 </div>
795 </#if>
796 </#macro>
797
798 <#macro drawSearchHeader>
799 <#assign searchLink = cache.parseLinkURL(request, cache.translate(locale, "/search" )) />
800
801 <div id="search-header" class="search-header">
802 <input id="header-search-input" class="search-input" data-url="${searchLink}" name="q" placeholder="${cache.translate(themeDisplay.getLocale(), 'Search')}" type="search" /> 803
804 <a id="header-search-icon" class="search-icon" href="javascript:void(0);" role="button" title="${cache.translate(themeDisplay.getLocale(), 'Search')}"> 805 <span class="icon-search"></span>
806 </a>
807
808 <i class="icon-close" id="header-search-close-icon"></i>
809 </div>
810 </#macro>
811
812 <#function getUserInitials>
813 <#local userInitials = "" />
814 <#if themeDisplay.getUser().getFirstName()?? && themeDisplay.getUser().getFirstName()?has_content>
815 <#local firstName = themeDisplay.getUser().getFirstName() />
816 <#local userInitials += firstName?substring(0, 1) />
817 </#if>
818 <#if themeDisplay.getUser().getLastName()?? && themeDisplay.getUser().getLastName()?has_content>
819 <#local lastName = themeDisplay.getUser().getLastName() />
820 <#local userInitials += lastName?substring(0, 1) />
821 </#if>
822
823 <#return userInitials?upper_case />
824 </#function>
825
826
827
828 <#assign
829 p_Map = productsMap?eval
830 u_Layouts = userLayouts?eval
831
832 profile_layouts = u_Layouts.profileLayouts
833
834 profile_url = u_Layouts.profileUrl
835 logout_url = u_Layouts.logoutUrl
836 login_url = u_Layouts.loginUrl
837
838 marketTree = cache.getMarketsTree()
839 hasCommerce = cache.checkCommerce(request)
840 currentMarket = cache.getCurrentMarket(request)
841 currentCountry = cache.getCurrentCountry(request)
842
843 htmlC1 = ""
844 htmlC2 = ""
845 htmlC3 = ""
846 htmlCCta = ""
847 />
848
849 <header id="laufen-restyle-header" class="laufen-restyle-header js-header">
850 <#if themeDisplay.isSignedIn()>
851 <input type="hidden" id="user-initials" value="${getUserInitials()}"> 852 </#if>
853
854 <#-- INIT PROMOTIONAL BANNER -->
855
856 <#if getterUtil.getBoolean(promoBanner.promoBannerShow.getData()) && promoBanner.promoBannerText.getData()??>
857 <div class="promoSubmenu">
858 <section class="promomenu-section">
859 <#if promoBanner.promoBannerPopup.getData()?? && promoBanner.promoBannerPopup.getData()?has_content>
860 <div class="promomenu-scroll-wrapper" id="promoScrollWrapper">
861 <a class="promomenu-link" data-toggle="modal" data-target="#promoBannerDisp" href="#">
862 ${promoBanner.promoBannerText.getData()} 863 </a>
864 </div>
865 <#else>
866 <div class="promomenu-scroll-wrapper" id="promoScrollWrapper">
867 <p class="promomenu-text">${promoBanner.promoBannerText.getData()}</p> 868 </div>
869 </#if>
870 <button class="promomenu-scroll-btn" id="promoScrollBtn" aria-label="${cache.translate(locale, "Ver mas")}" aria-hidden="true"> 871 <i class="icon-chevron-right"></i>
872 </button>
873 </section>
874 </div>
875 <script>
876document.addEventListener("DOMContentLoaded", function() { 877 const scrollWrapper = document.getElementById('promoScrollWrapper'); 878 const scrollBtn = document.getElementById('promoScrollBtn'); 879
880 if (!scrollWrapper || !scrollBtn) return;
881
882 function checkScrollable() { 883 if (scrollWrapper.scrollWidth > scrollWrapper.clientWidth) { 884 scrollBtn.classList.add('is-visible'); 885 scrollBtn.setAttribute('aria-hidden', 'false'); 886 checkScrollPosition();
887 } else { 888 scrollBtn.classList.remove('is-visible'); 889 scrollBtn.setAttribute('aria-hidden', 'true'); 890 }
891 }
892
893 function checkScrollPosition() { 894 const isAtEnd = scrollWrapper.scrollLeft + scrollWrapper.clientWidth >= scrollWrapper.scrollWidth - 5;
895
896 if (isAtEnd) { 897 scrollBtn.classList.add('is-at-end'); 898 scrollBtn.setAttribute('aria-label', '${cache.translate(locale, "Volver al principio")}'); 899 } else { 900 scrollBtn.classList.remove('is-at-end'); 901 scrollBtn.setAttribute('aria-label', '${cache.translate(locale, "Ver mas")}'); 902 }
903 }
904
905 checkScrollable();
906 window.addEventListener('resize', checkScrollable); 907
908 scrollWrapper.addEventListener('scroll', checkScrollPosition); 909
910 scrollBtn.addEventListener('click', function() { 911 if (scrollBtn.classList.contains('is-at-end')) { 912 scrollWrapper.scrollTo({ left: 0, behavior: 'smooth' }); 913 } else { 914 scrollWrapper.scrollBy({ left: 150, behavior: 'smooth' }); 915 }
916 });
917});
918 </script>
919 </#if>
920
921 <#-- END PROMOTIONAL BANNER -->
922
923 <div class="main-header__wrapper" id="laufen-main-header-wrapper">
924 <div class="main-navbar">
925 <#-- INIT SUPRA MENU -->
926 <@initSupraMenus />
927
928 <section class="supramenu">
929 <div class="container">
930 <div class="row">
931 <div class="col-12 supramenu-cols">
932 <div class="supramenu-left">
933 <ul class="supramenu__list supramenu__list--left">
934 <li class="supramenu__item supramenu__item--hamburger menu-hamburger-trigger">
935 <a class="supramenu__link menu-hamburger-link side-menu-btn-trigger js-side-menu-btn-trigger">
936 <span class="menu-hamburger-icon-link">
937 <i class="icon-hamburger"></i>
938 </span>
939 </a>
940 </li>
941
942 <#-- INIT LANGUAGE & COUNTRY SELECTOR -->
943 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowCountry.getData()) || getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowLanguage.getData())>
944 <li class="supramenu__item supramenu__item--country menu-country-trigger d-none d-lg-block">
945 <a class="supramenu__link menu-country-link js-open-side-menu" href="javascript:void(0)" data-category="LANGUAGE" data-groupid="${themeDisplay.getSiteGroupId()}" data-languageid="${themeDisplay.getLanguageId()}"> 946 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowCountry.getData())>
947 <span class="menu-country-text-link">
948 <i class="icon-language icon-right-space"></i>
949 <div><span>${currentCountry.getAssetCategory().getTitle(themeDisplay.getLocale())}</span></div> 950 </span>
951 </#if>
952
953 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowLanguage.getData()) && localeList?? && localeList?has_content && localeList?size gt 1>
954 <span class="menu-country-text-link">
955 <div>
956 <span class="text-uppercase">${themeDisplay.getLocale().getLanguage()}</span> 957 </div>
958 <i class="icon-chevron-down"></i>
959 </span>
960 </#if>
961 </a>
962 </li>
963 </#if>
964 <#-- END LANGUAGE & COUNTRY SELECTOR -->
965
966 <#-- INIT ADITIONAL SHORTCUTS -->
967 <#if htmlC1?has_content>
968 ${htmlC1} 969 </#if>
970 <#-- END ADDITIONAL SHORTCUTS -->
971 </ul>
972 </div>
973
974 <div class="supramenu-center">
975 <#if config.configLogo.configLogoImage.getData()?has_content>
976 <#assign
977 logoImg = config.configLogo.configLogoImage.getData()
978 logoImgWidth = config.configLogo.configLogoWidth.getData()
979 logoImgHeight = config.configLogo.configLogoHeight.getData()
980 link = (config.configLogo.configLogoLink.getData()?has_content)?string(cache.parseLinkURL(request, config.configLogo.configLogoLink.getData()), "")
981 target = (link?has_content)?string((config.configLogo.configLogoTargetLink.getData()?has_content)?string(config.configLogo.configLogoTargetLink.getData(), cache.getLinkTarget(link)), "")
982 />
983
984 <div class="logo-header">
985 <#if link?has_content>
986 <a href="${link}" target="${target}"> 987 </#if>
988
989 <#assign style = "" />
990 <#if logoImgWidth?has_content && logoImgWidth != "0">
991 <#assign style += "width: " + logoImgWidth + "px;" />
992 </#if>
993 <#if logoImgHeight?has_content && logoImgHeight != "0">
994 <#assign style += "height: " + logoImgHeight + "px;" />
995 </#if>
996
997 <img alt="${config.configLogo.configLogoImage.getAttribute("alt")}" data-fileentryid="${config.configLogo.configLogoImage.getAttribute("fileEntryId")}" src="${logoImg}" style="${style}" /> 998 <#if link?has_content>
999 </a>
1000 </#if>
1001 </div>
1002 </#if>
1003 </div>
1004
1005 <div class="supramenu-right">
1006 <ul class="supramenu__list supramenu__list--right">
1007 <#if htmlC2?has_content>
1008 ${htmlC2} 1009 </#if>
1010
1011 <#if htmlC3?has_content>
1012 ${htmlC3} 1013 </#if>
1014
1015 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowPrivate.getData())>
1016 <li id="userMenuLi" class="supramenu__item supramenu__item--login"
1017 data-group="${themeDisplay.getSiteGroupId()}" 1018 data-market="${currentMarket.getCode()}" 1019 data-language="${themeDisplay.getLanguageId()}" 1020 data-debug="${cache.debugMarginals()?c}" 1021 >
1022 <div class="loader-roca active">
1023 <div class="lds-css">
1024 </div>
1025 <div class="lds-load">
1026 <div></div>
1027 <div></div>
1028 <div></div>
1029 </div>
1030 </li>
1031 </#if>
1032
1033
1034 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowCart.getData()) && hasCommerce>
1035 <li class="supramenu__item js-h-cart">
1036 <a class="right-menu__link" id="cartIcon" href="${cache.getEcommerceURL(request, '/checkout/cart')}" title="${cache.translate(locale, 'Go to cart')}"> 1037 <span class="icon-cart"></span>
1038 <span class="items-cart">-</span>
1039 </a>
1040 </li>
1041 </#if>
1042
1043 <#if htmlCCta?has_content>
1044 <div class="supramenu__item--cta">
1045 ${htmlCCta} 1046 </div>
1047 </#if>
1048 </ul>
1049 </div>
1050 </div>
1051 </div>
1052 </div>
1053 </section>
1054 <#-- END SUPRA MENU -->
1055
1056 <#-- INIT MAIN MENU -->
1057
1058 <section class="main-nav js-main-nav">
1059 <div class="main-nav-container container">
1060 <div class="main-menu-container">
1061 <@drawDesktopMainMenu />
1062
1063 <div class="logo-search-header container" id="logo-search-header">
1064 <#if getterUtil.getBoolean(config.configAuxElements.configAuxElementsShowSearch.getData())>
1065 <@drawSearchHeader />
1066 </#if>
1067 </div>
1068 </div>
1069 </div>
1070 </section>
1071
1072 <#-- END MAIN MENU -->
1073 </div>
1074
1075 <#-- INIT SEARCH MODAL -->
1076
1077 <div id="rs-search-modal" class="r-modal search-modal"></div>
1078
1079 <#-- END SEARCH MODAL -->
1080
1081 <#-- INIT MINI-CART MODAL -->
1082
1083 <div class="r-modal mini-cart-collapse">
1084 <div class="close-menu">
1085 <div class="wrapper">
1086 <a href="javascript:void(0)" class="js-close icon-close"></a>
1087 </div>
1088 </div>
1089
1090 <div class="r-modal__wrapper"></div>
1091 </div>
1092
1093 <#-- END MINI-CART MODAL -->
1094
1095 <#-- INIT PROMOTIONAL BANNER MODAL -->
1096
1097 <#if promoBanner.promoBannerPopup.getData()?? && promoBanner.promoBannerPopup.getData()?has_content>
1098 <div class="lightbox-wrapper">
1099 <div class="modal fade modal-lightbox" id="promoBannerDisp" tabindex="-1" role="dialog" aria-labelledby="" style="display: none;" aria-hidden="true">
1100 <div class="modal-dialog modal-lg" role="document" style="top: 20%;">
1101 <div class="container">
1102 <div class="close-menu">
1103 <div class="wrapper">
1104 <a role="button" data-dismiss="modal" id="promoBannerDisp" class="js-close icon-close"></a>
1105 </div>
1106 </div>
1107 </div>
1108 <div class="r-modal__wrapper">
1109 <div class="container">
1110 <section style="background-color:white !important;" class="form-modal">
1111 <div class="container">
1112 <div class="row">
1113 <div class="col-12 col-md-12 promomenu-modal">
1114 ${promoBanner.promoBannerPopup.getData()} 1115 </div>
1116 </div>
1117 </div>
1118 </section>
1119 </div>
1120 </div>
1121 </div>
1122 </div>
1123 </div>
1124 </#if>
1125
1126 <#-- END PROMOTIONAL BANNER MODAL -->
1127
1128 </div>
1129
1130 <#-- INIT SIDE MENU -->
1131
1132 <@drawSideMenu "MENU" />
1133
1134 <#-- END SIDE MENU -->
1135
1136 <#-- INIT LANGUAGE & COUNTRY MODAL -->
1137
1138 <@drawSideMenu "LANGUAGE" />
1139
1140 <#-- END LANGUAGE & COUNTRY MODAL -->
1141
1142 </header>
1143</#if>