templates/components/navbar.html.twig line 1

Open in your IDE?
  1. {% set lastNavItem = sulu_navigation_root_tree('main', 2)|last %}
  2. <div class="nav-wrapper">
  3.     <div class="menu position-fixed top-0 w-100 bg-white d-flex align-items-center shadow-sm">
  4.         <div class="container">
  5.             <div class="row d-flex align-items-center">
  6.                 <div class="col-2">
  7.                     <a href="{{ sulu_content_root_path() }}">
  8.                         <img class="header-logo" src="{{ webspaceSettings.content.headerLogo.url|default('/website/images/placeholder-image.png') }}" alt="Logo">
  9.                     </a>
  10.                 </div>
  11.                 <div class="col-10 d-flex justify-content-end">
  12.                     <ul class="desktop-navbar d-none w-100 m-0 d-xl-inline-flex justify-content-end align-items-center">
  13.                         {% for item in sulu_navigation_root_tree('main', 4)|slice(0, -1) %}
  14.                             {% if item.title == 'Kontakt' %}
  15.                                 <li class="custom-dropdown-menu d-flex align-items-center position-relative">
  16.                                     <a class="{{ active_route(app.request.attributes.get( '_route' ), item.template) ? 'active' }}"
  17.                                         href="{{ sulu_content_path(item.url) }}"
  18.                                         {% if item.nodeType == 4 %}target="_blank" rel="noopener"{% endif %}>
  19.                                         <span>{{ item.title }}</span>
  20.                                         <i class="custom-dropdown-menu-icon fa-solid fa-chevron-down"></i>
  21.                                     </a>
  22.                                     <div class="custom-dropdown-menu-wrapper top-space-relative">
  23.                                         <ul class="custom-dropdown-menu-item shadow">
  24.                                             <a class="d-block px-4 py-3 dropdown-link" href="{{ sulu_content_path(item.url) }}#contact-form">Kontaktformular</a>
  25.                                             <a class="d-block px-4 py-3 dropdown-link" href="{{ sulu_content_path(item.url) }}#contact-persons">Ansprechpartner</a>
  26.                                         </ul>
  27.                                     </div>
  28.                                 </li>
  29.                             {% else %}
  30.                                 {% if item.children|length > 0 %}
  31.                                     <li class="custom-dropdown-menu d-flex align-items-center">
  32.                                         <a class="{{ active_route(app.request.attributes.get( '_route' ), item.template) ? 'active' }}" href="{{ sulu_content_path(item.url) }}">
  33.                                             <span>{{ item.title }}</span>
  34.                                             <i class="custom-dropdown-menu-icon fa-solid fa-chevron-down"></i>
  35.                                         </a>
  36.                                         <div class="custom-dropdown-menu-wrapper top-space w-100 ">
  37.                                             <div class="custom-dropdown-menu-item shadow py-3">
  38.                                                 <div class="container">
  39.                                                     <div class="row g-3">
  40.                                                         {% for child in item.children %}
  41.                                                             <div class="col-lg-3 col-6">
  42.                                                                 <ul class="list-unstyled">
  43.                                                                     <li>
  44.                                                                         <a class="noto-sans-bold d-inline-flex {{ active_route(app.request.attributes.get( '_route' ), child.template) ? 'active' }}" href="{{ sulu_content_path(child.url) }}">
  45.                                                                             {{ child.title }}
  46.                                                                         </a>
  47.                                                                     </li>
  48.                                                                     {% if (child.children|length > 0) %}
  49.                                                                         {% for subchild in child.children %}
  50.                                                                             <li><a class="d-inline-flex {{ active_route(app.request.attributes.get( '_route' ), subchild.template) ? 'active' }}" href="{{ sulu_content_path(subchild.url) }}">{{ subchild.title }}</a></li>
  51.                                                                         {% endfor %}
  52.                                                                     {% endif %}
  53.                                                                 </ul>
  54.                                                             </div>
  55.                                                         {% endfor %}
  56.                                                     </div>
  57.                                                 </div>
  58.                                             </div>
  59.                                         </div>
  60.                                     </li>
  61.                                 {% else %}
  62.                                     <li>
  63.                                         <a  {% if item.nodeType == 4 %}target="_blank" rel="noopener"{% endif %} class="{{ active_route(app.request.attributes.get( '_route' ), item.template) ? 'active' }}" href="{{ sulu_content_path(item.url, item.webspaceKey) }}" title="{{ item.title }}">
  64.                                             {{ item.title }}
  65.                                         </a>
  66.                                     </li>
  67.                                 {% endif %}
  68.                             {% endif %}
  69.                         {% endfor %}
  70.                         <li class="me-0">
  71.                             <a class="nav-button py-0" href="{{ sulu_content_path(lastNavItem.url, lastNavItem.webspaceKey) }}">
  72.                                 <span class="button fw-normal btn-nav d-inline-flex align-items-center justify-content-center darker-blue">
  73.                                     <span>{{ lastNavItem.title|default('Mehr erfahren') }}</span>
  74.                                 </span>
  75.                             </a>
  76.                         </li>
  77.                     </ul>
  78.                     <div data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample" class="hamburger-menu d-xl-none d-inline-flex">
  79.                         <i class="fa-solid fa-bars fa-2x"></i>
  80.                     </div>
  81.                 </div>
  82.             </div>
  83.         </div>
  84.     </div>
  85.     <div class="offcanvas offcanvas-end d-flex flex-column justify-content-between" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
  86.         <div class="px-3 navbar-mobile-header shadow-sm">
  87.             <div class="d-flex align-items-center justify-content-between">
  88.                 <a href="{{ sulu_content_root_path() }}">
  89.                     <img class="header-logo" src="{{ webspaceSettings.content.headerLogo.url|default('/website/images/placeholder-image.png') }}" alt="Logo">
  90.                 </a>
  91.                 <i data-bs-dismiss="offcanvas" aria-label="Close" class="navbar-close-button fa-solid fa-xmark fa-2x"></i>
  92.             </div>
  93.         </div>
  94.         <div class="navbar-mobile-body">
  95.             <ul class="ul-body">
  96.                 {% for item in sulu_navigation_root_tree('main', 4)|slice(0, -1) %}
  97.                     <li>
  98.                         {% if item.title == 'Kontakt' %}
  99.                             <a class="d-inline-flex align-items-center contact-collapse-mobile-button" data-bs-toggle="collapse" href="#contactCollapse" role="button" aria-expanded="false" aria-controls="contactCollapse">
  100.                                 <span class="me-2">{{ item.title }}</span>
  101.                                 <i class="arrow-right fa-solid fa-angle-down"></i>
  102.                             </a>
  103.                             <div class="collapse" id="contactCollapse">
  104.                                 <ul class="ms-4 list-unstyled">
  105.                                     <li>
  106.                                         <a class="d-inline-flex noto-sans-bold {{ active_route(app.request.attributes.get( '_route' ), item.template) ? 'active' }}" href="{{ sulu_content_path(item.url) }}">Übersicht</a>
  107.                                     </li>
  108.                                     <li data-bs-dismiss="offcanvas" class="collapse-contact-accordion-button">
  109.                                         <a class="d-inline-flex" href="{{ sulu_content_path(item.url) }}#contact-form">Kontaktformular</a>
  110.                                     </li>
  111.                                     <li data-bs-dismiss="offcanvas" class="collapse-contact-accordion-button">
  112.                                         <a class="d-inline-flex" href="{{ sulu_content_path(item.url) }}#contact-persons">Ansprechpartner</a>
  113.                                     </li>
  114.                                 </ul>
  115.                             </div>
  116.                         {% else %}
  117.                             {% if (item.children|length > 0) %}
  118.                                 <a class="d-inline-flex align-items-center services-collapse-mobile-button" data-bs-toggle="collapse" href="#menuAccordion" role="button" aria-expanded="false" aria-controls="menuAccordion">
  119.                                     <span class="me-2">{{ item.title }}</span>
  120.                                     <i class="arrow-right fa-solid fa-angle-down"></i>
  121.                                 </a>
  122.                                 <div class="ms-4 collapse" id="menuAccordion">
  123.                                     {% if (item.title == 'Leistungen') %}
  124.                                         <ul class="list-unstyled">
  125.                                             <li data-bs-dismiss="offcanvas" class="collapse-services-accordion-button">
  126.                                                 <a class="noto-sans-bold d-inline-flex {{ active_route(app.request.attributes.get( '_route' ), item.template) ? 'active' }}" href="{{ sulu_content_path(item.url) }}">Übersicht</a>
  127.                                             </li>
  128.                                         </ul>
  129.                                     {% endif %}
  130.                                     {% for item in sulu_navigation_root_tree('main', 4)|slice(0, -1) %}
  131.                                         {% for child in item.children %}
  132.                                             <ul class="list-unstyled">
  133.                                                 <li data-bs-dismiss="offcanvas" class="collapse-services-accordion-button">
  134.                                                     <a class="noto-sans-bold d-inline-flex {{ active_route(app.request.attributes.get( '_route' ), child.template) ? 'active' }}" href="{{ sulu_content_path(child.url) }}">
  135.                                                         {{ child.title }}
  136.                                                     </a>
  137.                                                 </li>
  138.                                                 {% if (child.children|length > 0) %}
  139.                                                     {% for subchild in child.children %}
  140.                                                         <li data-bs-dismiss="offcanvas" class="collapse-services-accordion-button"><a class="d-inline-flex {{ active_route(app.request.attributes.get( '_route' ), subchild.template) ? 'active' }}" href="{{ sulu_content_path(subchild.url) }}">{{ subchild.title }}</a></li>
  141.                                                     {% endfor %}
  142.                                                 {% endif %}
  143.                                             </ul>
  144.                                         {% endfor %}
  145.                                     {% endfor %}
  146.                                 </div>
  147.                             {% else %}
  148.                                 <a
  149.                                     id="item-{{ item.id }}"
  150.                                     class="d-inline-flex {{ active_route(app.request.attributes.get( '_route' ), item.template) ? 'active' }}"
  151.                                     href="{{ sulu_content_path(item.url) }}"
  152.                                     {% if item.nodeType == 4 %}target="_blank" rel="noopener"{% endif %}
  153.                                 >
  154.                                     {{ item.title }}
  155.                                 </a>
  156.                             {% endif %}
  157.                         {% endif %}
  158.                     </li>
  159.                 {% endfor %}
  160.             </ul>
  161.             <a class="navbar-mobile-button nav-button" href="{{ sulu_content_path(lastNavItem.url, lastNavItem.webspaceKey) }}">
  162.                 <span class="button fw-normal btn-nav d-inline-flex align-items-center justify-content-center darker-blue w-100">
  163.                     {{ include('@components/icons/person-circle.html.twig', {
  164.                         color: 'text-yellow'
  165.                     }) }}
  166.                     <span class="ms-2">{{ lastNavItem.title|default('Mehr erfahren') }}</span>
  167.                 </span>
  168.             </a>
  169.         </div>
  170.     </div>
  171. </div>