custom/plugins/fourtwosixAttributeBadges/src/Resources/views/storefront/page/product-detail/index.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/page/product-detail/index.html.twig' %}
  2. {% block page_product_detail_media %}
  3.     <div class="col-lg-7 product-detail-media">
  4.         {% block fourtwosixAttributeBadges_product_detail_media %}
  5.             {% if page.product.media %}
  6.                 {% sw_include '@Storefront/storefront/element/cms-element-image-gallery.html.twig' with {
  7.                     'mediaItems': mediaItems,
  8.                     'zoom': true,
  9.                     'zoomModal': true,
  10.                     'displayMode': 'contain',
  11.                     'gutter': 5,
  12.                     'minHeight': '430px',
  13.                     'navigationArrows': 'inside',
  14.                     'navigationDots': 'inside',
  15.                     'galleryPosition': 'left',
  16.                     'isProduct': true,
  17.                     'fallbackImageTitle': page.product.translated.name,
  18.                     'startIndexThumbnails': 1,
  19.                     'startIndexSlider': 1,
  20.                     'keepAspectRatioOnZoom': false
  21.                 } %}
  22.             {% endif %}
  23.             <div class="d-flex justify-content-center fourtwosix-badges">
  24.                 {% set badgesMediaIds = [] %}
  25.                 {% set propertiesBadge = [] %}
  26.                 {% set configDefaultMedia = config('fourtwosixAttributeBadges.config.defaultMedia') %}
  27.                 {# checks whether the property group has a customField attribute_badge #}
  28.                 {% if page.product.sortedProperties != null %}
  29.                     {% for x in page.product.sortedProperties|filter(x => x.translated.customFields.attribute_badges == true) -%}
  30.                         {% set propertiesBadge = propertiesBadge|merge(x.options.elements) %}
  31.                     {% endfor %}
  32.                     {% if propertiesBadge %}
  33.                         {% for badge in propertiesBadge %}
  34.                             {% if badge.mediaId != null %}
  35.                                 {% set badgesMediaIds = badgesMediaIds|merge([badge.mediaId]) %}
  36.                             {% else %}
  37.                                 {% set badgesMediaIds = badgesMediaIds|merge([configDefaultMedia]) %}
  38.                             {% endif %}
  39.                         {% endfor %}
  40.                         {% set mediaCollection = searchMedia(badgesMediaIds, context.context) %}
  41.                         {% for badge in propertiesBadge|sort((a, b) => a.position <=> b.position)|slice(0,8) %}
  42.                             {% if badge.mediaId != null %}
  43.                                 {% set badgeMedia = mediaCollection.get(badge.mediaId) %}
  44.                                 {% sw_thumbnails 'product-detail-badge-thumbnails' with {
  45.                                     media: badgeMedia,
  46.                                     attributes: {
  47.                                         'class': 'img-fluid badgeImg',
  48.                                         'data-toggle' : 'tooltip',
  49.                                         'title': badge.translated.name
  50.                                     }
  51.                                 } %}
  52.                             {% else %}
  53.                                 {% set badgeMedia = mediaCollection.get(configDefaultMedia) %}
  54.                                 {% sw_thumbnails 'product-detail-badge-thumbnails' with {
  55.                                     media: badgeMedia,
  56.                                     attributes: {
  57.                                         'class': 'img-fluid badgeImg',
  58.                                         'data-toggle' : 'tooltip',
  59.                                         'title': badge.translated.name
  60.                                     }
  61.                                 } %}
  62.                             {% endif %}
  63.                         {% endfor %}
  64.                     {% endif %}
  65.                 {% endif %}
  66.             </div>
  67.         {% endblock %}
  68.     </div>
  69. {% endblock %}