custom/plugins/HyBuys/src/Resources/views/storefront/element/cms-element-image-gallery.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/element/cms-element-image-gallery.html.twig' %}
  2. {% block element_image_gallery %}
  3.     {# cms element data and configs #}
  4.     {% if element.fieldConfig is defined and element.data is defined %}
  5.         {% set sliderConfig = element.fieldConfig.elements %}
  6.         {% set mediaItems = [] %}
  7.         {% for item in element.data.sliderItems %}
  8.             {% set mediaItems = mediaItems|merge([item.media]) %}
  9.         {% endfor %}
  10.         {% set zoom = sliderConfig.zoom.value %}
  11.         {% set gutter = sliderConfig.gutter.value %}
  12.         {% set keepAspectRatioOnZoom = sliderConfig.keepAspectRatioOnZoom.value %}
  13.         {% set magnifierOverGallery = sliderConfig.magnifierOverGallery.value %}
  14.         {% set zoomModal = sliderConfig.fullScreen.value %}
  15.         {% set minHeight = sliderConfig.minHeight.value %}
  16.         {% set displayMode = sliderConfig.displayMode.value %}
  17.         {% set navigationArrows = sliderConfig.navigationArrows.value %}
  18.         {% set navigationDots = sliderConfig.navigationDots.value %}
  19.         {% set galleryPosition = sliderConfig.galleryPosition.value %}
  20.         {% set verticalAlign = sliderConfig.verticalAlign.value %}
  21.         {% set zoomImageContainerSelector = sliderConfig.zoomImageContainerSelector.value %}
  22.     {% endif %}
  23.     {% if fallbackImageTitle is not defined %}
  24.         {% set fallbackImageTitle = '' %}
  25.     {% endif %}
  26.     {# @var mediaItems \Shopware\Core\Content\Media\MediaCollection #}
  27.     {% set imageCount = mediaItems|length %}
  28.     {# too many underneath thumbs or slider dots make them hard to see #}
  29.     {% set maxItemsToShowMobileNav = 5 %}
  30.     {% set maxItemsToShowNav = 8 %}
  31.     {% set magnifierOptions = [] %}
  32.     {% if magnifierOverGallery %}
  33.         {% set magnifierOptions = magnifierOptions|merge({
  34.             'magnifierOverGallery': true,
  35.             'cursorType': 'crosshair'
  36.         }) %}
  37.     {% endif %}
  38.     {% if keepAspectRatioOnZoom is defined and keepAspectRatioOnZoom is not null %}
  39.         {% set magnifierOptions = magnifierOptions|merge({
  40.             'keepAspectRatioOnZoom': keepAspectRatioOnZoom
  41.         }) %}
  42.     {% endif %}
  43.     {% if zoomImageContainerSelector %}
  44.         {% set magnifierOptions = magnifierOptions|merge({
  45.             'zoomImageContainerSelector': zoomImageContainerSelector
  46.         }) %}
  47.     {% endif %}
  48.     <div class="big_images">
  49.         {% for image in mediaItems %}
  50.             {% block element_image_gallery_inner_item %}
  51.                 <div class="image_block">
  52.                     {% block element_image_gallery_inner_item_inner %}
  53.                     <a href="{{ image.url }}" data-fancybox="product_images">
  54.                         {% set attributes = {
  55.                             'data-zoom-image': image.url,
  56.                             'alt': (image.translated.alt ?: fallbackImageTitle),
  57.                             'title': (image.translated.title ?: fallbackImageTitle)
  58.                         } %}
  59.                         {% if isProduct %}
  60.                             {% set attributes = attributes|merge({ 'itemprop': 'image' }) %}
  61.                         {% endif %}
  62.                         {% sw_thumbnails 'gallery-slider-thumbnails-image' with {
  63.                             media: image,
  64.                             sizes: {
  65.                                 'default': '784px'
  66.                             }
  67.                         } %}
  68.                     </a>
  69.                     {% endblock %}
  70.                 </div>
  71.             {% endblock %}
  72.         {% endfor %}
  73.     </div>
  74.     <div class="small_images">
  75.         {% for image in mediaItems %}
  76.             {% block element_image_gallery_inner_thumbnails_item %}
  77.                 <div class="image_block">
  78.                     {% block element_image_gallery_inner_thumbnails_item_inner %}
  79.                             {% set attributes = {
  80.                                 'class': '',
  81.                                 'alt': (image.translated.alt ?: fallbackImageTitle),
  82.                                 'title': (image.translated.title ?: fallbackImageTitle)
  83.                             } %}
  84.                             {% if isProduct %}
  85.                                 {% set attributes = attributes|merge({ 'itemprop': 'image' }) %}
  86.                             {% endif %}
  87.                             {% sw_thumbnails 'gallery-slider-thumbnails-image-thumbnails' with {
  88.                                 media: image,
  89.                                 sizes: {
  90.                                     'default': '105px'
  91.                                 }
  92.                             } %}
  93.                     {% endblock %}
  94.                 </div>
  95.             {% endblock %}
  96.         {% endfor %}
  97.     </div>
  98. {% endblock %}