custom/plugins/Itptheme/src/Resources/views/storefront/layout/navigation/navigation.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/layout/navigation/navigation.html.twig' %}
  2. {# CIO-AI-Driven: CSS-first flyouts — each top-level item wraps trigger + panel
  3.    in .main-navigation-item so :hover/:focus-within can open the panel without JS.
  4.    Stock FlyoutMenu JS stays active for touch (is-open flow). #}
  5. {% set megaMenuCategoryId = 'e6245cf3105048d69cb220a9ab115030' %}
  6. {% block layout_main_navigation_menu_items %}
  7.     {% if page.product is defined %}
  8.         {% set activePath = page.product.categoryTree %}
  9.     {% else %}
  10.         {% set activePath = page.header.navigation.active.path %}
  11.     {% endif %}
  12.     {% for treeItem in page.header.navigation.tree %}
  13.         {% set category = treeItem.category %}
  14.         {% set name = category.translated.name %}
  15.         {# @deprecated tag:v6.5.0 - Use "category.id" directly instead. #}
  16.         {% set categorId = category.id %}
  17.         {% set isMegaMenu = category.id == megaMenuCategoryId %}
  18.         {% set hasChildren = treeItem.children|length > 0 %}
  19.         <div class="main-navigation-item{% if isMegaMenu %} is-mega-menu{% endif %}">
  20.             {% block layout_main_navigation_menu_item %}
  21.                 {% if category.type == 'folder' %}
  22.                     <div class="nav-link main-navigation-link{% if isMegaMenu %} is-mega-menu{% endif %}"
  23.                         {% if hasChildren %}
  24.                             data-flyout-menu-trigger="{{ category.id }}"
  25.                             tabindex="0"
  26.                             aria-haspopup="true"
  27.                             aria-expanded="false"
  28.                             aria-controls="navigation-flyout-{{ category.id }}"
  29.                         {% endif %}
  30.                           title="{{ name }}">
  31.                         <div class="main-navigation-link-text">
  32.                             <span itemprop="name">{{ name }}</span>
  33.                         </div>
  34.                     </div>
  35.                 {% else %}
  36.                     <a class="nav-link main-navigation-link{% if category.id == page.header.navigation.active.id or category.id in activePath %} active{% endif %}{% if isMegaMenu %} is-mega-menu{% endif %}"
  37.                        href="{{ category_url(category) }}"
  38.                        itemprop="url"
  39.                        {% if hasChildren %}
  40.                            data-flyout-menu-trigger="{{ category.id }}"
  41.                            aria-haspopup="true"
  42.                            aria-expanded="false"
  43.                            aria-controls="navigation-flyout-{{ category.id }}"
  44.                        {% endif %}
  45.                        {% if category_linknewtab(category) %}target="_blank"{% endif %}
  46.                        title="{{ name }}">
  47.                         <div class="main-navigation-link-text">
  48.                             <span itemprop="name">{{ name }}</span>
  49.                         </div>
  50.                     </a>
  51.                 {% endif %}
  52.             {% endblock %}
  53.             {% if hasChildren %}
  54.                 {% block layout_main_navigation_menu_flyout %}
  55.                     <div class="navigation-flyout{% if isMegaMenu %} has-mega-menu{% endif %}"
  56.                          id="navigation-flyout-{{ category.id }}"
  57.                          data-flyout-menu-id="{{ category.id }}">
  58.                         <div class="container">
  59.                             {% block layout_main_navigation_menu_flyout_include %}
  60.                                 {% sw_include '@Storefront/storefront/layout/navigation/flyout.html.twig' with {navigationTree: treeItem, level: level+1, page: page} only %}
  61.                             {% endblock %}
  62.                         </div>
  63.                     </div>
  64.                 {% endblock %}
  65.             {% endif %}
  66.         </div>
  67.     {% endfor %}
  68. {% endblock %}
  69. {# Stock .navigation-flyouts container is no longer used — panels live inside their item wrapper. #}
  70. {% block layout_main_navigation_menu_flyout_wrapper %}{% endblock %}