custom/static-plugins/EfbStorefront/Resources/views/storefront/layout/navigation/categories.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/layout/navigation/categories.html.twig' %}
  2. {% block layout_navigation_categories %}
  3.     {% set teaser_field = 'custom_navigation_fields_is_teaser' %}
  4.     {% set link_text_overwrite = 'custom_navigation_fields_link_text' %}
  5.     {% if not level %}
  6.         {% set level = 2 %}
  7.     {% endif %}
  8.     {% set width = level < 3 ? 2 : 4 %}
  9.     <div class="navigation-flyout-category-section col-{{ width }}"
  10.          data-category-level="{{ level }}"
  11.          data-category-id="{{ root.id }}"
  12.          data-category-path="{{ root.path }}"
  13.          data-category-name="{{ root.translated.name }}"
  14.     >
  15.         {% if level > 2 and root.type is not same as 'folder' %}
  16.             {% if root.translated.customFields[link_text_overwrite] %}
  17.                 {% set name = root.translated.customFields[link_text_overwrite]|sw_sanitize %}
  18.             {% else %}
  19.                 {% set name = 'navigation.toCategoryPrefix'|trans({'%category%': root.translated.name}) %}
  20.             {% endif %}
  21.             <a class="nav-item nav-link navigation-flyout-link navigation-flyout-base-category-link"
  22.                href="{{ category_url(root) }}"
  23.                itemprop="url"
  24.                {% if category_linknewtab(root) %}target="_blank"{% endif %}
  25.                title="{{ name }}">
  26.                 <span itemprop="name">{{ name }}</span>
  27.             </a>
  28.         {% endif %}
  29.         {% for treeItem in navigationTree|filter(treeItem => not treeItem.category.customFields[teaser_field]) %}
  30.             {% set category = treeItem.category %}
  31.             {% set name = category.translated.name %}
  32.             {% block layout_navigation_categories_item %}
  33.                 {% block layout_navigation_categories_item_link %}
  34.                     {% if level < 4 and category.childcount > 0 %}
  35.                         <div class="nav-item nav-link navigation-flyout-link"
  36.                              data-category-id="{{ category.id }}"
  37.                              title="{{ name }}"
  38.                         >
  39.                             <span itemprop="name">{{ name }}</span>
  40.                             {% sw_icon 'chevron-right-s' style {'namespace': 'EfbStorefront'} %}
  41.                         </div>
  42.                     {% elseif category.type is not same as 'folder' %}
  43.                         <a class="nav-item nav-link navigation-flyout-link"
  44.                            href="{{ category_url(category) }}"
  45.                            itemprop="url"
  46.                            {% if category_linknewtab(category) %}target="_blank"{% endif %}
  47.                            title="{{ name }}">
  48.                             <span itemprop="name">{{ name }}</span>
  49.                         </a>
  50.                     {% endif %}
  51.                 {% endblock %}
  52.             {% endblock %}
  53.         {% endfor %}
  54.     </div>
  55.     {% if level < 4 %}
  56.         {% for treeItem in navigationTree|filter(treeItem => treeItem.category.childCount > 0) %}
  57.             {% sw_include '@Storefront/storefront/layout/navigation/categories.html.twig' with {
  58.                 navigationTree: treeItem.children,
  59.                 root: treeItem.category,
  60.                 level: level + 1
  61.             } only %}
  62.         {% endfor %}
  63.     {% endif %}
  64.     <div class="navigation-flyout-teaser offset-{{ ( 4 - level ) * 4 }} col-2" data-category-id="{{ root.id }}">
  65.         {% for treeItem in navigationTree|filter(treeItem =>
  66.             treeItem.category.customFields[teaser_field] and treeItem.category.type is not same as 'folder'
  67.         ) %}
  68.             {% set category = treeItem.category %}
  69.             {% set name = category.translated.name %}
  70.             <div class="navigation-flyout-teaser-item">
  71.                 {% if category.media %}
  72.                     <div class="navigation-flyout-teaser-media">
  73.                         {% sw_thumbnails 'navigation-flyout-teaser-image-thumbnails' with {
  74.                             media: category.media,
  75.                             sizes: {
  76.                                 'default': '310px'
  77.                             },
  78.                             attributes: {
  79.                                 'class': 'navigation-flyout-teaser-image',
  80.                                 'alt': (category.media.translated.alt ?: ''),
  81.                                 'title': (category.media.translated.title ?: ''),
  82.                                 'data-object-fit': 'cover'
  83.                             }
  84.                         } %}
  85.                     </div>
  86.                 {% endif %}
  87.                 <div class="navigation-flyout-teaser-name">
  88.                     <span itemprop="name">{{ name }}</span>
  89.                 </div>
  90.                 {% if category.translated.customFields[link_text_overwrite] %}
  91.                     {% set toTeaserText = category.translated.customFields[link_text_overwrite]|sw_sanitize %}
  92.                 {% else %}
  93.                     {% set teaserType = category.type %}
  94.                     {% if category.type is same as 'link' %}
  95.                         {% set teaserType = category.linkType|replace({'_p': 'P'}) %}
  96.                     {% endif %}
  97.                     {% set toTeaserText = ('navigation.toTeaserType' ~ (teaserType|capitalize))|trans|sw_sanitize %}
  98.                 {% endif %}
  99.                 <a class="nav-item nav-link navigation-flyout-link navigation-flyout-teaser-link"
  100.                    href="{{ category_url(category) }}"
  101.                    itemprop="url"
  102.                    {% if category_linknewtab(category) %}target="_blank"{% endif %}
  103.                    title="{{ toTeaserText }}">
  104.                     {{ toTeaserText }} {% sw_icon 'chevron-right-s' style {'namespace': 'EfbStorefront'} %}
  105.                 </a>
  106.             </div>
  107.         {% endfor %}
  108.     </div>
  109. {% endblock %}