templates/Navigation/navbar.html.twig line 1

Open in your IDE?
  1. {% import "Includes/Macros/cacheMacros.html.twig" as cacheMacros %}
  2. {% if document.property('region').parentId == '324083' %}
  3.     {% set isSubRegion = true %}
  4. {% else %}
  5.     {% set isSubRegion = false %}
  6. {% endif %}
  7. {% set regionCacheKey =  document.property('region') is not null ? document.property('region').getId() : '' %}
  8. {% set navigationRootId = document.property('navigationRoot') is not null ? document.property('navigationRoot').id : ''  %}
  9. {% set linkList = [] %}
  10. {% if not document.property('noEventNav') %}
  11.     {% set linkList = linkList|merge([
  12.         {
  13.             href: siteConfig.eventOverview,
  14.             title: "nav.Event"|trans,
  15.             icon: "calendar"
  16.         }
  17.     ]) %}
  18. {% endif %}
  19. {% if not document.property('noTourNav') %}
  20.     {% set linkList = linkList|merge([
  21.         {
  22.             href: siteConfig.tourOverview,
  23.             title: "nav.Touren"|trans,
  24.             icon: "hiking"
  25.         }
  26.     ]) %}
  27. {% endif %}
  28. {% if not document.property('noWebcamNav') %}
  29.     {% set linkList = linkList|merge([
  30.         {
  31.             href: siteConfig.webcamOverview,
  32.             title: "nav.Webcams"|trans,
  33.             icon: "webcams"
  34.         }
  35.     ]) %}
  36. {% endif %}
  37. {% if not document.property('noWeatherNav') %}
  38.     {% set linkList = linkList|merge([
  39.         {
  40.             href: siteConfig.weatherOverview,
  41.             title: "nav.Wetter"|trans,
  42.             icon: "weather"
  43.         }
  44.     ]) %}
  45. {% endif %}
  46. <header class="main-header {{ isSubRegion ? 'main-header--with-meta-link': '' }}">
  47.     <nav class="main-navbar js-affix-nav main-navbar--fixed js-nav">
  48.         {% if isSubRegion and (pimcore_placeholder('hide-subregion-mobile-bar') is empty or not pimcore_device().isPhone()) %}
  49.             <div class="main-navbar-meta main-navbar-meta--meta-link">
  50.                 <div class="text-center px-3">
  51.                     {% if pimcore_device().isPhone() %}
  52.                         {{ 'startseite.switch mobile'|trans|raw }}
  53.                     {% else %}
  54.                         {{ siteConfig.regionSlideHeadline }}{{ 'startseite.switch'|trans|raw }}
  55.                     {% endif %}
  56.                 </div>
  57.             </div>
  58.         {% endif %}
  59.         {% if pimcore_placeholder('hide-iconlist-mobile') is empty %}
  60.             <div class="main-navbar-meta d-md-none">
  61.                 <ul class="main-navbar-meta__list list-unstyled">
  62.                     {% for item in linkList|default([]) %}
  63.                         <li class="main-navbar__item">
  64.                             <a href="{{ item.href }}" class="main-navbar__item__link" data-event-tracking-category="Navbar" data-event-tracking-action="{{ item.title }}" data-event-tracking-label="{{ item.href }}">
  65.                                 <span class="icon icon-{{ item.icon }} main-navbar__item__icon" aria-hidden="true"></span>
  66.                                 {{ item.title }}
  67.                             </a>
  68.                         </li>
  69.                     {% endfor %}
  70.                     <li class="main-navbar__item">
  71.                         <button class="main-navbar__item__link js-nav__toggle-overlay"
  72.                                 aria-label="{{ 'sr.Show Overlay'|trans }}"
  73.                                 title="{{ 'sr.Show Overlay'|trans }}"
  74.                                 data-nav-overlay-target="#searchOverlay" data-event-tracking-category="Navbar" data-event-tracking-action="{{ 'nav.Suche'|trans }}" data-event-tracking-label="{{ siteConfig.search }}">
  75.                             <span class="icon icon-search main-navbar__item__icon" aria-hidden="true"></span>
  76.                             {{ 'nav.Suche'|trans }}
  77.                         </button>
  78.                     </li>
  79.                 </ul>
  80.             </div>
  81.         {% endif %}
  82.         <div class="main-navbar-nav">
  83.             <div class="main-navbar__container js-nav__screen-width">
  84.                 <div class="main-navbar__left ">
  85.                     <button class="main-navbar__toggle collapsed js-nav__toggle-overlay"
  86.                             type="button"
  87.                             aria-expanded="false"
  88.                             aria-label="{{ 'sr.Toggle Navigation'|trans }}"
  89.                             data-nav-overlay-target="#main-navbar-nav"
  90.                             aria-controls="main-navbar-nav">
  91.                         <span class="main-navbar__toggle__line"></span>
  92.                         <span class="main-navbar__toggle__line"></span>
  93.                         <span class="main-navbar__toggle__line"></span>
  94.                         <span class="main-navbar__toggle__text">Menu</span>
  95.                         <span class="main-navbar__toggle__text--open" aria-hidden="true">{{ 'nav.schliessen'|trans }}</span>
  96.                     </button>
  97.                     <div class="nav nav-overlay js-nav__overlay js-render-template js-render-template--not-initially" id="main-navbar-nav" aria-hidden="true">
  98.                         <template class="js-render-template__template">
  99.                             <div class="mega-nav__container js-nav-active-state">
  100.                                 {{ mainNavigation( document, siteConfig, app.request.get('clearCache', false) ) }}
  101.                             </div>
  102.                         </template>
  103.                     </div>
  104.                     {% if document.property('regionOverlay') is instanceof('\\Pimcore\\Model\\Document\\Snippet') %}
  105.                         <button class="main-navbar__regions js-nav__toggle-overlay"
  106.                                 aria-label="{{ 'sr.Show Overlay'|trans }}"
  107.                                 title="{{ 'sr.Show Overlay'|trans }}"
  108.                                 data-nav-overlay-target="#regionsOverlay">
  109.                             <span class="icon icon-pin-regions" aria-hidden="true"></span>
  110.                             <span class="main-navbar__regions-text">
  111.                                 {{ ('nav.' ~ (document.property('region').isMainRegion ? 'Regionen' : 'Region'))|trans }}
  112.                             </span>
  113.                             <span class="icon icon-arrow-down main-navbar__regions-arrow-down" aria-hidden="true"></span>
  114.                         </button>
  115.                         {{ cacheMacros.cacheSnippet('region-overlay-' ~ document.property('regionOverlay').id ~ '-' ~ app.request.locale~ '-' ~ navigationRootId, document.property('regionOverlay'), {'isInNav': true}, 3600) }}
  116.                     {% endif %}
  117.                 </div>
  118.                 <div class="main-navbar__centered" id="js-nav__screen-width__center">
  119.                     <a href="{{ document.getProperty('navLogoLink') ?: siteConfig.home }}" class="pointer-events-auto" data-event-tracking-category="Navbar" data-event-tracking-action="Logo" data-event-tracking-label="{{ document.getProperty('navLogoLink') ?: siteConfig.home }}">
  120.                         {{ (document.getProperty('navLogo') ?: siteConfig.logo ?: siteConfig.logo('en')).thumbnail('navbar-brand').html({imgAttributes: {class: 'main-navbar__brand ', loading: 'eager',id:"js-nav__screen-width__center-logo"},      pictureAttributes: {
  121.                             fetchpriority: 'high',
  122.                         },})| raw }}
  123.                     </a>
  124.                 </div>
  125.                 <div class="main-navbar__right " id="js-nav__screen-width__right">
  126.                     <ul class="main-navbar__list list-unstyled">
  127.                         {% for item in linkList|default([]) %}
  128.                             <li class="main-navbar__item d-none d-md-flex">
  129.                                 <a href="{{ item.href }}" class="main-navbar__item__link" data-event-tracking-category="Navbar" data-event-tracking-action="{{ item.title }}" data-event-tracking-label="{{ item.href }}">
  130.                                     <span class="icon icon-{{ item.icon }} main-navbar__item__icon"
  131.                                           aria-hidden="true"></span>
  132.                                     {{ item.title }}
  133.                                 </a>
  134.                             </li>
  135.                         {% endfor %}
  136.                         <li class="main-navbar__item main-navbar__item--search d-none d-md-flex">
  137.                             <button class="main-navbar__item__link main-navbar__item__link--search js-nav__toggle-overlay"
  138.                                     aria-label="{{ 'sr.Show Overlay'|trans }}"
  139.                                     title="{{ 'sr.Show Overlay'|trans }}"
  140.                                     data-nav-overlay-target="#searchOverlay" data-event-tracking-category="Navbar" data-event-tracking-action="{{ 'nav.Suche'|trans }}" data-event-tracking-label="{{ siteConfig.search }}">
  141.                                 <span class="icon icon-search main-navbar__item__icon" aria-hidden="true"></span>
  142.                                 <span class="main-navbar__item-text">{{ 'nav.Suche'|trans }}</span>
  143.                             </button>
  144.                         </li>
  145.                         {% if document.property('searchOverlay') is instanceof('\\Pimcore\\Model\\Document\\Snippet') %}
  146.                             {{ cacheMacros.cacheSnippet('searchOverlay-' ~ document.property('searchOverlay').id ~ '-' ~ app.request.locale ~ '-' ~ navigationRootId, document.property('searchOverlay'), {'isInNav': true}, 3600) }}
  147.                         {% endif %}
  148.                     </ul>
  149.                     {% if document.property('contactDocumentForNav') is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  150.                         <a href="{{ document.property('contactDocumentForNav') }}" class="main-navbar__booking-btn" data-event-tracking-category="Navbar" data-event-tracking-action="{{ 'nav.Kontakt'|trans }}" data-event-tracking-label="{{ document.property('contactDocumentForNav') }}">
  151.                             <span class="icon icon-speech-bubble main-navbar__booking-btn__icon" aria-hidden="true"></span>
  152.                             <span class="d-none d-md-inline-block">{{ 'nav.Kontakt'|trans }}</span>
  153.                         </a>
  154.                     {% else %}
  155.                         <a href="{{ demi_checkoutUrl("cart", "step1") }}" class="main-navbar__cart-btn js-cart-counter"
  156.                            data-cart-counter-url="{{ demi_checkoutUrl("cart", "amountInCart") }}"
  157.                            data-event-tracking-category="Navbar" data-event-tracking-action="{{ 'nav.Warenkorb'|trans }}" data-event-tracking-label="{{ 'nav.Warenkorb'|trans }}">
  158.                             <span class="position-relative">
  159.                                   <span class="icon icon-cart main-navbar__cart-btn__icon"
  160.                                         aria-hidden="true"></span>
  161.                                 <span class="main-navbar__item-count bg-primary-light js-cart-counter__count" aria-label="cart count">0</span>
  162.                             </span>
  163.                             <span class="d-none d-md-flex">{{ 'nav.Warenkorb'|trans }}</span>
  164.                         </a>
  165.                         {% if siteConfig.disableBookingOverlay %}
  166.                             <a class="main-navbar__booking-btn  js-nav__toggle-overlay" href="{{ demiConfigurationHelper().getAccoParentDocument() }}"
  167.                                     aria-label="{{ 'sr.Show Overlay'|trans }}"
  168.                                     title="{{ 'sr.Show Overlay'|trans }}"
  169.                                     data-nav-overlay-target="#bookingOverlay" data-event-tracking-category="Navbar" data-event-tracking-action="{{ 'nav.Urlaub buchen'|trans }}" data-event-tracking-label="{{ demiConfigurationHelper().getAccoParentDocument() }}">
  170.                                 <span class="icon icon-baggage main-navbar__booking-btn__icon" aria-hidden="true"></span>
  171.                                 <span class="d-none d-md-inline-block">{{ 'nav.Urlaub buchen'|trans }}</span>
  172.                             </a>
  173.                         {% else %}
  174.                             <button class="main-navbar__booking-btn  js-nav__toggle-overlay"
  175.                                     aria-label="{{ 'sr.Show Overlay'|trans }}"
  176.                                     title="{{ 'sr.Show Overlay'|trans }}"
  177.                                     data-nav-overlay-target="#bookingOverlay" data-event-tracking-category="Navbar" data-event-tracking-action="{{ 'nav.Urlaub buchen'|trans }}" data-event-tracking-label="{{ demiConfigurationHelper().getAccoParentDocument() }}">
  178.                                 <span class="icon icon-baggage main-navbar__booking-btn__icon" aria-hidden="true"></span>
  179.                                 <span class="d-none d-md-inline-block">{{ 'nav.Urlaub buchen'|trans }}</span>
  180.                             </button>
  181.                             {{ cacheMacros.cacheInclude('bookingOverlay-region'~ regionCacheKey ~ '-' ~ app.request.locale ~ '-' ~ navigationRootId, 'Navigation/Partials/bookingOverlay.html.twig', {}, 3600) }}
  182.                         {% endif %}
  183.                         {% if not document.property('disableAdditionalServicesNavButton') %}
  184.                             <a class="main-navbar__adventure-btn" href="{{ demiConfigurationHelper().getAdditionalServiceDetailPath() }}">
  185.                                 <span class="icon icon-mountain main-navbar__adventure-btn__icon" aria-hidden="true"></span>
  186.                                 <span class="d-none d-md-inline-block">{{ 'nav.Erlebnisse'|trans }}</span>
  187.                             </a>
  188.                         {% endif %}
  189.                     {% endif %}
  190.                 </div>
  191.             </div>
  192.         </div>
  193.     </nav>
  194. </header>