templates/partials/_main-navigation.html.twig line 1

Open in your IDE?
  1. {# get root node if there is no document defined (for pages which are routed directly through static route) #}
  2. {% if not document is defined or not document %}
  3.     {% set document = pimcore_document(1) %}
  4. {% endif %}
  5. {# get the document which should be used to start in navigation | default home #}
  6. {% set navStartNode = document.getProperty('navigationRoot') %}
  7. {% set disableNavLogoLinks = document.getProperty('disableNavLogoLinks') %}
  8. {% if not navStartNode is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  9.     {% set navStartNode = pimcore_document(1) %}
  10. {% endif %}
  11. {% set mainNavigation = pimcore_build_nav({ active: document, root: navStartNode }) %}
  12. <nav id="main-nav" class="main-navigation">
  13.     <div class="main-navigation-logos">
  14.         <a class="me-4" href="/"><img src="/assets/img/logos/logo-timmermanns.svg" alt="BMW Timmermanns GmbH"/></a>
  15.         {% if brandStyles == 'BMW' or brandStyles == 'BMW-M' %}
  16.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/bmw"{% endif %}><img src="/assets/img/logos/logo-bmw.svg" alt="BMW"/></a>
  17.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/bmw/bmw-m-modelle"{% endif %}><img src="/assets/img/logos/logo-bmw-m.svg" alt="BMW M"/></a>
  18.         {% elseif brandStyles == 'Mini' %}
  19.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/mini"{% endif %}><img src="/assets/img/logos/logo-bmw-mini.svg" alt="MINI"/></a>
  20.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/mini"{% endif %}><img src="/assets/img/logos/logo-bmw-jcw.svg" alt="John Cooper Works"/></a>
  21.         {% else %}
  22.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/bmw"{% endif %}><img src="/assets/img/logos/logo-bmw.svg" alt="BMW"/></a>
  23.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/bmw/bmw-m-modelle"{% endif %}><img src="/assets/img/logos/logo-bmw-m.svg" alt="BMW M"/></a>
  24.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/mini"{% endif %}><img src="/assets/img/logos/logo-bmw-mini.svg" alt="MINI"/></a>
  25.             <a class="d-none d-md-block" {% if not disableNavLogoLinks %}href="/mini"{% endif %}><img src="/assets/img/logos/logo-bmw-jcw.svg" alt="John Cooper Works"/></a>
  26.         {% endif %}
  27.     </div>
  28.     <input type="checkbox" id="menu-toggle" class="menu-toggle v2" aria-label="Hauptmenü ein-/ausblenden" title="Hauptmenü ein-/ausblenden">
  29.     <div class="main-navigation-dropdown-holder">
  30.         <ul class="main-navigation-dropdown">
  31.             {% for page in mainNavigation %}
  32.                 {# 1st level #}
  33.                 {% if page.isVisible()  %}
  34.                     {% if not page.hasPages() %}
  35.                         <li>
  36.                             <a href="{{ page.getHref() }}">{{ page.getLabel() }}</a>
  37.                         </li>
  38.                     {% else %}
  39.                         <li>
  40.                             <input type="checkbox" class="main-navigation-dropdown-toggle"
  41.                                    aria-controls="submenu-{{ loop.index }}"
  42.                                    aria-expanded="false"
  43.                                    aria-label="{{ page.getLabel() }} Untermenü ein-/ausblenden">
  44.                             <a href="{{ page.getHref() }}">{{ page.getLabel() }}</a>
  45.                             <ul>
  46.                                 {% for child in page.getPages() %}
  47.                                     {# 2nd level #}
  48.                                     {% if child.isVisible() %}
  49.                                         {% if not child.hasPages() %}
  50.                                             <li>
  51.                                                 <a href="{{ child.getHref() }}">{{ child.getLabel() }}</a>
  52.                                             </li>
  53.                                         {% else %}
  54.                                             <li>
  55.                                                 <input type="checkbox" class="main-navigation-dropdown-toggle"
  56.                                                        aria-controls="submenu-{{ loop.index }}-{{ loop.parent.loop.index }}"
  57.                                                        aria-expanded="false"
  58.                                                        aria-label="{{ child.getLabel() }} Untermenü ein-/ausblenden">
  59.                                                 <a href="{{ child.getHref() }}">{{ child.getLabel() }}</a>
  60.                                                 <ul>
  61.                                                     {% for grandchild in child.getPages() %}
  62.                                                         {# 3nd level #}
  63.                                                         {% if grandchild.isVisible() %}
  64.                                                             <li>
  65.                                                                 <a href="{{ grandchild.getHref() }}">{{ grandchild.getLabel() }}</a>
  66.                                                             </li>
  67.                                                         {% endif %}
  68.                                                     {% endfor %}
  69.                                                 </ul>
  70.                                             </li>
  71.                                         {% endif %}
  72.                                     {% endif %}
  73.                                 {% endfor %}
  74.                             </ul>
  75.                         </li>
  76.                     {% endif %}
  77.                 {% endif %}
  78.             {% endfor %}
  79.         </ul>
  80.     </div>
  81. </nav>