templates/includes/main-nav.html.twig line 1

Open in your IDE?
  1. {% set navStartNode = document.getProperty("mainNavStartNode") %}
  2. {% set mainNavigation = pimcore_build_nav({active: document, root: navStartNode}) %}
  3. {% set menuRenderer = pimcore_nav_renderer('menu') %}
  4. <ul class="uk-navbar-nav apk-menu uk-width-1-1 uk-child-width-auto">
  5.     {# calcul du nombre maximum de pages visibles et valides #}
  6.     {% set totalPages = 0 %}
  7.     {% for page in mainNavigation %}
  8.         {% if page.isVisible() and menuRenderer.accept(page) %}
  9.             {% set totalPages = totalPages + 1 %}
  10.         {% endif %}
  11.     {% endfor %}
  12.     {% set p = 1 %}
  13.     {% for page in mainNavigation %}
  14.         {% if page.isVisible() and menuRenderer.accept(page) %}
  15.                 
  16.             {% set hasChildren = 0 %}
  17.             
  18.             {% if page.hasPages() %}
  19.                 {% for child in page.getPages() %}
  20.                     {% if page.isVisible() and menuRenderer.accept(child) %}
  21.                         {% set hasChildren = hasChildren + 1 %}
  22.                     {% endif %}
  23.                 {% endfor %}
  24.             {% endif %}
  25.             {# condition d'affichage du menu flex-right #}
  26.             {% if p - 0.5 == (totalPages / 2) %}
  27.                 {% set isAlign = "apk-align-center" %}
  28.             {% elseif  p <= (totalPages / 2)|round %}
  29.                 {% set isAlign = "apk-align-left" %}
  30.             {% else %}
  31.                 {% set isAlign = "apk-align-right" %}
  32.             {% endif %}
  33.             {% if hasChildren == 0 %}
  34.                 {% if not page.getClass('apk-highlight-link') %}
  35.                 
  36.                     <li class="{% if page.getActive(true) %}uk-active{% endif %} apk-highlight-link-container {{ isAlign }}">
  37.                         <a href="{{ page.getHref() }}" class="{{ page.getClass() }}" {% if page.getTarget() != NULL %} target="{{ page.getTarget() }}" {% endif %}>
  38.                             {{ page.getLabel()|trans }}
  39.                         </a>
  40.                     </li>
  41.                 {% else %}
  42.                     <li class="{% if page.getActive(true) %}uk-active{% endif %} {{ isAlign }}">
  43.                         <a href="{{ page.getHref() }}" class="{{ page.getClass() }}" {% if page.getTarget() != NULL %} target="{{ page.getTarget() }}" {% endif %}>
  44.                             {{ page.getLabel()|trans }}
  45.                         </a>
  46.                     </li>
  47.                 {% endif %}
  48.             {% else %}
  49.                 {% if not page.getClass('apk-highlight-link') %}
  50.                     <li class="uk-parent apk-highlight-link-type {% if page.getActive(true) %}uk-active{% endif %} {{ isAlign }}">
  51.                 {% else %}
  52.                     <li class="uk-parent {% if page.getActive(true) %}uk-active{% endif %} {{ isAlign }}">
  53.                 {% endif %}
  54.                     {% if page.getClass('apk-highlight-link') %}
  55.                         <a href="{{ page.getHref() }}" class="{{ page.getClass() }} apk-highlight-link-container" {% if page.getTarget() != NULL %} target="{{ page.getTarget() }}" {% endif %}>
  56.                             {{ page.getLabel()|trans }}
  57.                             <img class="uk-margin-small-left" uk-svg width="15" height="15" src="/static/img/pictos/chevron-down.svg" alt="">
  58.                         </a>
  59.                     {% else %}
  60.                         <a href="{{ page.getHref() }}" class="{{ page.getClass() }}" {% if page.getTarget() != NULL %} target="{{ page.getTarget() }}" {% endif %}>
  61.                             {{ page.getLabel()|trans }}
  62.                             <i uk-icon="icon: chevron-down; ratio: 0.5"></i>
  63.                         </a>
  64.                     {% endif %}
  65.                         {% set navBreakPoint = pimcore_website_config('main-nav-breakpoint') %}
  66.                         {% if navBreakPoint is not empty  %}
  67.                             {% set countPage = page.getPages()|length %}
  68.                             {% if countPage > breakpointChild %}
  69.                                 {% set countChild = (countPage / 2)|round %}
  70.                             {% else %}
  71.                                 {% set countChild = null %}
  72.                             {% endif %}
  73.                         {% else %}
  74.                             {% set countChild = null %}
  75.                         {% endif %}
  76.                         <div class="uk-navbar-dropdown {% if countChild == null %}uk-navbar-dropdown-width-2{% endif %} uk-border-rounded">
  77.                             <div class="uk-navbar-dropdown-grid {% if countChild == null %}uk-child-width-1-1{% else %}uk-child-width-1-2{% endif %}" uk-grid>
  78.                                 <div>
  79.                                     <ul class="uk-nav uk-navbar-dropdown-nav uk-list-divider uk-text-uppercase">
  80.                                         {% set i = 1 %}
  81.                                         {% for child in page.getPages() %}
  82.                                             {% if child.isVisible() and menuRenderer.accept(child) %}
  83.                                                 <li class="{% if child.getActive(true) %}uk-active{% endif %}">
  84.                                                     <a href="{{ child.getHref() }}" class="{{ child.getClass() }}" {% if child.getTarget() != NULL %} target="{{ child.getTarget() }}" {% endif %}>
  85.                                                         {{ child.getLabel()|trans }}
  86.                                                     </a>
  87.                                                 </li>
  88.                                             {% endif %}
  89.                                             {% if (countChild != null) and (p == countChild) %}
  90.                                                 </ul>
  91.                                             </div>
  92.                                             <div>
  93.                                                 <ul class="uk-nav uk-navbar-dropdown-nav uk-list-divider uk-text-uppercase">
  94.                                             {% endif %}
  95.                                             {% set i = i + 1 %}
  96.                                         {% endfor %}
  97.                                     </ul>
  98.                                 </div>
  99.                             </div>
  100.                         </div>
  101.                     </li>
  102.             {% endif %}
  103.             {% set p = p + 1 %}
  104.         {% endif %}
  105.     {% endfor %}
  106. </ul>