templates/includes/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. {% set language = document.getProperty("language") %}
  3. {% if language == "en" %}
  4.     {% set startNodeId = 477 %}
  5. {% elseif language == "hu" %}
  6.     {% set startNodeId = 478 %}
  7. {% else %}
  8.     {% set startNodeId = 3 %}
  9. {% endif %}
  10. {% if not document is defined or not document %}
  11.     {% set document = pimcore_document(startNodeId) %}
  12. {% endif %}
  13. {# get the document which should be used to start in navigation | default home #}
  14. {% set navStartNode = document.getProperty('navigationRoot') %}
  15. {% if not navStartNode is instanceof('\\Pimcore\\Model\\Document\\Page') %}
  16.     {% set navStartNode = pimcore_document(startNodeId) %}
  17. {% endif %}
  18. {% set mainNavigation = pimcore_build_nav({
  19.     active: document,
  20.     root: navStartNode
  21. }) %}
  22. {# later you can render the navigation #}
  23. {#{{ pimcore_render_nav(mainNavigation) }}#}
  24. {% set menuRenderer = pimcore_nav_renderer("menu") %}
  25. <ul class="navbar-items d-none d-lg-flex">
  26.     {% for page in mainNavigation %}
  27.         {% if page.isVisible() and menuRenderer.accept(page) %}
  28.             {% set hasChildren = false %}
  29.             {% for child in page.getPages() %}
  30.                 {% if child.isVisible() or menuRenderer.accept(child) %}
  31.                     {% set hasChildren = true %}
  32.                 {% endif %}
  33.             {% endfor %}
  34.             {% if not hasChildren %}
  35.                 <li class="nav-item">
  36.                     <a class="nav-link {{ page.getClass() }} {{ (page.getActive(true)) ? "active" : "" }}" href="{{ page.getHref() }}">
  37.                         {{ page.getLabel() }}
  38.                     </a>
  39.                 </li>
  40.             {% else %}
  41.                 <li class="nav-item {{ (page.getActive(true)) ? "active" : "" }} dropdown">
  42.                     <a target="{{ page.getTarget() }}" class="nav-link nobr {{ page.getClass() }} {{ (page.getActive(true)) ? "active" : "" }}" {# href="{{ page.getHref() }}" #} id="navbarDropdown"
  43.                        role="button"
  44.                        data-toggle="dropdown" aria-haspopup="true"
  45.                        aria-expanded="false">{{ page.getLabel() }}</a>
  46.                     <div class="dropdown-menu p-0 {{ page.getClass() }}" aria-labelledby="navbarDropdown">
  47.                         {% for child in page.getPages() %}
  48.                             {% if child.isVisible() and menuRenderer.accept(child) %}
  49.                                 {% set childHasChildren = false %}
  50.                                 {% for c in child.getPages() %}
  51.                                     {% if c.isVisible() or menuRenderer.accept(c) %}
  52.                                         {% set childHasChildren = true %}
  53.                                     {% endif %}
  54.                                 {% endfor %}
  55.                                 {% if not childHasChildren %}
  56.                                     <a target="{{ child.getTarget() }}" class="dropdown-item {{ (child.getActive(true)) ? "active" : "" }}" href="{{ child.getHref() }}">
  57.                                         {{ child.getLabel() }}
  58.                                     </a>
  59.                                 {% else %}
  60.                                     <div class="dropdown">
  61.                                         <a target="{{ child.getTarget() }}" class="dropdown-item sub-dropdown-item {{ child.getClass() }} {{ (child.getActive(true)) ? "active" : "" }}"
  62.                                           {#href="{{ child.getHref() }}"#} id="navbarDropdown" role="button"
  63.                                            data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  64.                                             {{ child.getLabel() }}
  65.                                         </a>
  66.                                         <div class="sub-dropdown-menu  p-0 dropdown-menu {{ child.getClass() }}" aria-labelledby="navbarDropdown">
  67.                                             {% for c in child.getPages() %}
  68.                                                 {% if c.isVisible() and menuRenderer.accept(c) %}
  69.                                                     <a target="{{ c.getTarget() }}" class="dropdown-item {{ (c.getActive(true)) ? "active" : "" }}"
  70.                                                        href="{{ c.getHref() }}">
  71.                                                         {{ c.getLabel() }}
  72.                                                     </a>
  73.                                                 {% endif %}
  74.                                             {% endfor %}
  75.                                         </div>
  76.                                     </div>
  77.                                 {% endif %}
  78.                             {% endif %}
  79.                         {% endfor %}
  80.                     </div>
  81.                 </li>
  82.             {% endif %}
  83.         {% endif %}
  84.     {% endfor %}
  85.     {#<li class="nav-item">
  86.         <a href="javascript:void(0)" class="nav-item search-icon"><img src="/img/icon-search.svg"></a>
  87.     </li>#}
  88.     {% include "includes/search-bar-header.html.twig" with {mobile: false} %}
  89. </ul>