{% sw_extends '@Storefront/storefront/element/cms-element-image-gallery.html.twig' %}
{% block element_image_gallery_inner_col %}
<div class="gallery-slider-col{% if galleryPosition == "left" %} col-12 col-md-10 order-1 order-md-2{% elseif galleryPosition == "underneath" %} col-12 col-md-9{% endif %}"
{% if zoomModal %}data-zoom-modal="true"{% endif %}>
{# option "magnifierOverGallery" shows zoom container over gallery #}
<div class="base-slider gallery-slider{% if navigationArrows == "outside" %} has-nav-outside{% endif %}{% if navigationDots == "outside" %} has-dots-outside{% endif %} js-magnifier-zoom-image-container">
{% block element_image_gallery_inner_wrapper %}
{{ parent() }}
{% endblock %}
{% block element_image_gallery_slider_dots %}
{{ parent() }}
{% endblock %}
</div>
</div>
{% endblock %}
{# actual gallery image on top of page if products images > 1 #}
{% block element_image_gallery_inner_items %}
{% for image in mediaItems %}
{% if image.translated and image.translated.title != 'eegl' %}
{% block element_image_gallery_inner_item %}
<div class="gallery-slider-item-container">
<div class="gallery-slider-item is-{{ displayMode }} js-magnifier-container"{% if minHeight and (displayMode == "cover" or displayMode == "contain" ) %} style="min-height: {{ minHeight }}"{% endif %}>
{% set attributes = {
'class': 'img-fluid gallery-slider-image gallery-slider-image-normal magnifier-image js-magnifier-image',
'alt': (image.translated.alt ?: fallbackImageTitle ~ " " ~ loop.index),
'title': (image.translated.title ?: fallbackImageTitle ~ " " ~ loop.index),
'data-full-image': image.url
} %}
{% if displayMode == 'cover' or displayMode == 'contain' %}
{% set attributes = attributes|merge({ 'data-object-fit': displayMode }) %}
{% endif %}
{% if isProduct %}
{% set attributes = attributes|merge({ 'itemprop': 'image' }) %}
{% endif %}
{% sw_thumbnails 'gallery-slider-image-thumbnails' with {
media: image,
sizes: {
'xs': '390px',
'sm': '390px',
'md': '60vw',
'lg': '600px',
'xl': '600px'
},
load: loop.index > 2 ? false : true
} %}
</div>
</div>
{% endblock %}
{% endif %}
{% endfor %}
{% endblock %}
{# actual gallery image on top of page if single image #}
{% block element_image_gallery_inner_single %}
<div class="gallery-slider-single-image is-{{ displayMode }} js-magnifier-container"{% if minHeight %} style="min-height: {{ minHeight }}"{% endif %}>
{% if imageCount > 0 %}
{% set attributes = {
'class': 'img-fluid gallery-slider-image gallery-slider-image-normal-2 magnifier-image js-magnifier-image',
'alt': (mediaItems|first.translated.alt ?: fallbackImageTitle ~ " " ~ loop.index),
'title': (mediaItems|first.translated.title ?: fallbackImageTitle ~ " " ~ loop.index),
'data-full-image': mediaItems|first.url
} %}
{% if displayMode == 'cover' or displayMode == 'contain' %}
{% set attributes = attributes|merge({ 'data-object-fit': displayMode }) %}
{% endif %}
{% if isProduct %}
{% set attributes = attributes|merge({ 'itemprop': 'image' }) %}
{% endif %}
{% sw_thumbnails 'gallery-slider-image-thumbnails' with {
media: mediaItems|first,
sizes: {
'xs': '390px',
'sm': '390px',
'md': '60vw',
'lg': '800px',
'xl': '600px'
},
load: loop.index > 2 ? false : true
} %}
{% else %}
{% sw_icon 'placeholder' style {
'xs': '390px',
'sm': '390px',
'md': '60vw',
'lg': '800px',
'xl': '600px'
} %}
{% endif %}
</div>
{% endblock %}
{# thumbnail Slider #}
{% block element_image_gallery_inner_thumbnails_items %}
{% for image in mediaItems %}
{% if image.translated and image.translated.title != 'eegl' %}
{% block element_image_gallery_inner_thumbnails_item %}
<div class="gallery-slider-thumbnails-item">
{% block element_image_gallery_inner_thumbnails_item_inner %}
<div class="gallery-slider-thumbnails-item-inner">
{% set attributes = {
'class': 'gallery-slider-thumbnails-image gallery-slider-thumbnails-image-thumbnail',
'alt': (image.translated.alt ?: fallbackImageTitle ~ " thumbnail " ~ loop.index),
'title': (image.translated.title ?: fallbackImageTitle ~ " thumbnail " ~ loop.index)
} %}
{% if isProduct %}
{% set attributes = attributes|merge({ 'itemprop': 'image' }) %}
{% endif %}
{% sw_thumbnails 'gallery-slider-thumbnails-image-thumbnails' with {
media: image,
sizes: {
'xs': '1px',
'sm': '60px',
'md': '60px',
'lg': '60px',
'xl': '60px'
},
load: loop.index > 6 ? false : true
} %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endif %}
{% endfor %}
{% endblock %}
{# Zoom Modal Item #}
{% block element_image_gallery_inner_zoom_modal_slider_items %}
{% for image in mediaItems %}
{% block element_image_gallery_inner_zoom_modal_slider_item %}
<div class="gallery-slider-item">
{% block element_image_gallery_inner_zoom_modal_slider_item_zoom_container %}
<div class="image-zoom-container"
data-image-zoom="true">
{% block element_image_gallery_inner_zoom_modal_slider_item_image %}
{% sw_thumbnails 'gallery-slider-image-thumbnails' with {
media: image,
attributes: {
'class': 'gallery-slider-image gallery-slider-image-zoom js-image-zoom-element js-load-img',
'alt': (image.translated.alt ?: fallbackImageTitle ~ " zoom " ~ loop.index),
'title': (image.translated.title ?: fallbackImageTitle ~ " zoom " ~ loop.index)
},
sizes: {
'xs': '390px',
'sm': '390px',
'md': '1200px',
'lg': '1200px',
'xl': '1200px'
},
lazyLoadTrigger: 'gallery-image-clicked'
} %}
{% endblock %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endfor %}
{% endblock %}
{# Zoom Modal Thumbnails #}
{% block element_image_gallery_inner_zoom_modal_thumbnails %}
<div class="gallery-slider-thumbnails"
data-gallery-slider-thumbnails=true>
{% block element_image_gallery_inner_zoom_modal_thumbnails_items %}
{% for image in mediaItems %}
{% block element_image_gallery_inner_zoom_modal_thumbnails_item %}
<div class="gallery-slider-thumbnails-item">
{% block element_image_gallery_inner_zoom_modal_thumbnails_item_inner %}
<div class="gallery-slider-thumbnails-item-inner">
{% sw_thumbnails 'gallery-slider-thumbnails-image-thumbnails' with {
media: image,
sizes: {
'xs': '1vw',
'sm': '1vw',
'md': '10vw',
'lg': '121px',
'xl': '121px'
},
attributes: {
'class': 'gallery-slider-thumbnails-image gallery-slider-thumbnails-image-zoom-thumbnail js-load-img',
'alt': (image.translated.alt ?: fallbackImageTitle ~ " zoom thumbnail " ~ loop.index),
'title': (image.translated.title ?: fallbackImageTitle ~ " zoom thumbnail " ~ loop.index)
},
load: false
} %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endfor %}
{% endblock %}
</div>
{% endblock %}