templates/layouts/navigation/navbar.html.twig line 1

Open in your IDE?
  1. {#
  2. {% set navStartNode = buildNavigation() %}
  3. {% set mainNavigation = pimcore_build_nav({active: document, root: navStartNode}) %}
  4. {% set menuRenderer = pimcore_nav_renderer('menu') %}
  5. <nav class="navbar navbar-expand-lg navbar-light bg-light">
  6.     <a class="navbar-brand" href="#">{{ 'Navbar'|trans }}</a>
  7.     <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
  8.         <span class="navbar-toggler-icon"></span>
  9.     </button>
  10.     <div class="collapse navbar-collapse" id="navbarNavDropdown">
  11.         <ul class="navbar-nav ms-auto mb-2 mb-lg-0 mt-3">
  12.             {% for page in mainNavigation %}
  13.                 {% if page.isVisible() and menuRenderer.accept(page) %}
  14.                     {% set hasChildren = page.hasPages() %}
  15.                     {% set documentId = page.getId() %}
  16.                     {% set document = fetchDocument(documentId) %}
  17.                     {% set excludeChildren = document.getProperty('exclude_childs') %}
  18.                     {% if not hasChildren or excludeChildren %}
  19.                         <li class="nav-item {% if page.isActive() %}active{% endif %}">
  20.                             <a class="nav-link" href="{{ page.getHref() }}">{{ page.getLabel() }}</a>
  21.                         </li>
  22.                     {% else %}
  23.                         <li class="nav-item {% if page.IsActive() %}active{% endif %} dropdown">
  24.                             <a class="nav-link dropdown-toggle" href="{{ page.getHref() }}" role="button"
  25.                                data-bs-toggle="dropdown" aria-haspopup="true"
  26.                                aria-expanded="false">{{ page.getLabel() }}</a>
  27.                             <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
  28.                                 {% for child in page.getPages() %}
  29.                                     {% if child.isVisible() and menuRenderer.accept(child) %}
  30.                                         <li>
  31.                                             <a class="dropdown-item"
  32.                                                href="{{ child.getHref() }}">{{ child.getLabel() }}</a></li>
  33.                                     {% endif %}
  34.                                 {% endfor %}
  35.                             </ul>
  36.                         </li>
  37.                     {% endif %}
  38.                 {% endif %}
  39.             {% endfor %}
  40.         </ul>
  41.         {% include 'layouts/navigation/language.html.twig' %}
  42.         {{ render(controller('AccountBundle\\Controller\\AccountController::loginLogoutAction', [])) }}
  43.     </div>
  44. </nav>
  45. #}
  46. {#{% include 'layouts/layout/searchbar.html.twig' %}#}
  47. {% set navStartNode = buildNavigation() %}
  48. {% set mainNavigation = pimcore_build_nav({active: document, root: navStartNode}) %}
  49. {% set menuRenderer = pimcore_nav_renderer('menu') %}
  50. <header id="header" class="{% if not editmode %}fixed-top{% endif %}">
  51.     <div class="container {% if not editmode %}nav-top{% endif %} {#{% if not editmode %}data-aos="fade-down"{% endif %}#}">
  52.         <div class="position-relative">
  53.             <div class="user-menu hstack gap-1">
  54.                 <div class="col-12 col-md col-lg col-xl d-none d-lg-block d-md-block d-xl-block">
  55.                     {{ render(controller('App\\Controller\\SearchController::NavBarSearch')) }}
  56.                 </div>
  57.                     {# Remove this line if no AccountBundle is installed #}
  58.                     {{ render(controller('AccountBundle\\Controller\\AccountController::loginLogoutAction', [])) }}
  59.                     {% include 'cart/cart-nav-icon.html.twig' %}
  60.                     <a href="{{ 'footer_link_facebook'|trans }}" target="_blank" class="me-1"><i class="fab fa-facebook fs-4"></i></a>
  61.                 {#{% include 'layouts/navigation/language.html.twig' %}#}
  62.             </div>
  63.             <nav class="navbar navbar-light navbar-expand-lg">
  64.                 <a class="navbar-brand" href="/{{ app.request.locale|replace({ '_': '-' }) }}">
  65.                     {#{{ 'Navbar'|trans }}#}
  66.                     <img src="{{ pimcore_website_config('site_logo') }}"
  67.                          alt="{{ pimcore_website_config('site_title') }}"
  68.                          class="img-fluid">
  69.                 </a>
  70.                 <button class="navbar-toggler mt-4 me-3" type="button" data-bs-toggle="collapse"
  71.                         data-bs-target="#navbarSupportedContent"
  72.                         aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  73.                     <span class="material-icons-outlined">
  74. menu
  75. </span>
  76.                 </button>
  77.                 <div class="collapse navbar-collapse" id="navbarSupportedContent">
  78.                     <ul class="navbar-nav ms-auto {# mb-2 mb-lg-0 mt-3 #}">
  79.                         {#
  80.                         <li class="nav-item">
  81.                             <a class="nav-link" href="/{{ app.request.locale|replace({ '_': '-' }) }}"><span><i class="fas fa-home"></i></span></a>
  82.                         </li>#}
  83.                         {% for page in mainNavigation %}
  84.                             {# here need to manually check for ACL conditions #}
  85.                             {% if page.isVisible() and menuRenderer.accept(page) %}
  86.                                 {% set hasChildren = page.hasPages() %}
  87.                                 {% set documentId = page.getId() %}
  88.                                 {% set document = fetchDocument(documentId) %}
  89.                                 {% set excludeChildren = document.getProperty('exclude_childs') %}
  90.                                 {% set documentProperty = document.getProperty('extra_menu') %}
  91.                                 {% if (not hasChildren or excludeChildren) and not documentProperty %}
  92.                                     <li class="nav-item {% if page.isActive() %}active{% endif %}">
  93.                                         <a class="nav-link"
  94.                                            href="{{ page.getHref() }}"><span>{{ page.getLabel() }}</span></a>
  95.                                     </li>
  96.                                 {% else %}
  97.                                     <li class="nav-item {% if page.IsActive() %}active{% endif %} dropdown">
  98.                                         <a class="nav-link dropdown-toggle" href="{{ page.getHref() }}" role="button"
  99.                                            data-bs-toggle="dropdown" aria-haspopup="true"
  100.                                            aria-expanded="false"><span>{{ page.getLabel() }}</span></a>
  101.                                         <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
  102.                                             {% if documentProperty is not empty %}
  103.                                                 {% if documentProperty == 'productGroup' %}
  104.                                                     {% set getProductGroups = app_product_fetchGroupData('productGroup') %}
  105.                                                     {% for getProductGroup in getProductGroups %}
  106.                                                         {% set detailLink = app_product_grouplink(getProductGroup) %}
  107.                                                         <li>
  108.                                                             <a class="dropdown-item" href="{{ detailLink }}">
  109.                                                                 {% if getProductGroup.combinedCategoryName is not empty %}
  110.                                                                     {{ getProductGroup.combinedCategoryName|capitalize }}
  111.                                                                 {% else %}
  112.                                                                     {{ getProductGroup.oms|capitalize }}
  113.                                                                 {% endif %}
  114.                                                             </a>
  115.                                                         </li>
  116.                                                     {% endfor %}
  117.                                                 {% endif %}
  118.                                             {% else %}
  119.                                                 {% for child in page.getPages() %}
  120.                                                     {% if child.isVisible() and menuRenderer.accept(child) %}
  121.                                                         <li>
  122.                                                             <a class="dropdown-item" href="{{ child.getHref() }}">
  123.                                                                 {{ child.getLabel() }}
  124.                                                             </a>
  125.                                                         </li>
  126.                                                     {% endif %}
  127.                                                 {% endfor %}
  128.                                             {% endif %}
  129.                                         </ul>
  130.                                     </li>
  131.                                 {% endif %}
  132.                             {% endif %}
  133.                         {% endfor %}
  134.                     </ul>
  135.                 </div>
  136.             </nav>
  137.         </div><!--end container relative-->
  138.         <div class="col-12 col-md-6 col-lg-6 col-xl-6 px-5 d-lg-none d-md-none d-xl-none">
  139.             {{ render(controller('App\\Controller\\SearchController::NavBarSearch')) }}
  140.         </div>
  141.     </div>
  142.     <script>
  143.         const inputElement = document.getElementById('form_query');
  144.         if (inputElement.value.trim() === '') {
  145.             {% if query is defined %}
  146.             inputElement.value = "{{ query }}";
  147.             {% endif %}
  148.         }
  149.     </script>
  150. </header>