{% sw_extends '@Storefront/storefront/element/cms-element-image-gallery.html.twig' %}
{% block element_image_gallery_inner %}
<div class="row gallery-slider-row{% if imageCount == 1 %} is-single-image{% else %} is-loading{% endif %} js-gallery-zoom-modal-container"
{% if zoom %}
data-magnifier="true"
{% endif %}
{% if magnifierOptions|length > 0 %}
data-magnifier-options='{{ magnifierOptions|json_encode|raw }}'
{% endif %}
{% if imageCount > 1 %}
data-gallery-slider="true"
data-gallery-slider-options='{{ gallerySliderOptions|json_encode }}'
{% endif %}>
{% block element_image_gallery_inner_col %}
<div class="gallery-slider-col{% if galleryPosition == "left" %} col order-1 order-md-2{% elseif galleryPosition == "underneath" %} col-12 order-1{% 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 %}{% if magnifierOverGallery %} js-magnifier-zoom-image-container{% endif %}">
{% block element_image_gallery_inner_wrapper %}
{% if imageCount > 1 %}
{% block element_image_gallery_inner_multiple_slides %}
{% block element_image_gallery_inner_container %}
<div class="gallery-slider-container"
data-gallery-slider-container="true">
{% block element_image_gallery_inner_items %}
{% for image in mediaItems %}
{% 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 magnifier-image js-magnifier-image',
'alt': (image.translated.alt ?: fallbackImageTitle),
'title': (image.translated.title ?: fallbackImageTitle),
'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
} %}
</div>
</div>
{% endblock %}
{% endfor %}
{% endblock %}
</div>
{% endblock %}
{% block element_image_gallery_inner_controls %}
{% if navigationArrows %}
<div class="gallery-slider-controls"
data-gallery-slider-controls="{% if navigationArrows %}true{% else %}false{% endif %}">
{% block element_image_gallery_inner_control_items %}
{% block element_image_gallery_inner_control_prev %}
<button class="base-slider-controls-prev gallery-slider-controls-prev{% if navigationArrows == "outside" %} is-nav-prev-outside{% elseif navigationArrows == "inside" %} is-nav-prev-inside{% endif %}"
aria-label="{{ 'general.previous'|trans|striptags }}">
{% block element_image_gallery_inner_control_prev_icon %}
{% sw_icon 'arrow-head-left' %}
{% endblock %}
</button>
{% endblock %}
{% block element_image_gallery_inner_control_next %}
<button class="base-slider-controls-next gallery-slider-controls-next{% if navigationArrows == "outside" %} is-nav-next-outside{% elseif navigationArrows == "inside" %} is-nav-next-inside{% endif %}"
aria-label="{{ 'general.next'|trans|striptags }}">
{% block element_image_gallery_inner_control_next_icon %}
{% sw_icon 'arrow-head-right' %}
{% endblock %}
</button>
{% endblock %}
{% endblock %}
</div>
{% endif %}
{% endblock %}
{% endblock %}
{% else %}
{% 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 magnifier-image js-magnifier-image',
'alt': (mediaItems|first.translated.alt ?: fallbackImageTitle),
'title': (mediaItems|first.translated.title ?: fallbackImageTitle),
'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,
} %}
{% else %}
{% sw_icon 'placeholder' style {
'size': 'fluid'
} %}
{% endif %}
</div>
{% endblock %}
{% endif %}
{% endblock %}
{% block element_image_gallery_slider_dots %}
{% if imageCount > 1 and navigationDots %}
<div class="base-slider-dots {% if imageCount > maxItemsToShowNav %} hide-dots{% elseif imageCount > maxItemsToShowMobileNav %} hide-dots-mobile{% endif %}">
{% block element_image_gallery_slider_dots_buttons %}
{% for image in mediaItems %}
{% block element_image_gallery_slider_dots_button %}
<button class="base-slider-dot"
data-nav-dot="{{ loop.index }}"
tabindex="-1"></button>
{% endblock %}
{% endfor %}
{% endblock %}
</div>
{% endif %}
{% endblock %}
</div>
</div>
{% endblock %}
{% block element_image_gallery_inner_thumbnails_col %}
{% if imageCount > 1 %}
<div class="gallery-slider-thumbnails-col{% if galleryPosition == "left" %} col-0 col-md-auto order-2 order-md-1 is-left{% elseif galleryPosition == "underneath" %} col-12 order-2 is-underneath{% endif %}">
<div class="gallery-slider-thumbnails-container{% if galleryPosition == "underneath" %} is-underneath{% endif %}">
{% block element_image_gallery_inner_thumbnails %}
<div class="gallery-slider-thumbnails{% if galleryPosition == "underneath" %} is-underneath{% endif %}"
data-gallery-slider-thumbnails="true">
{% block element_image_gallery_inner_thumbnails_items %}
{% for image in mediaItems %}
{% 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',
'alt': (image.translated.alt ?: fallbackImageTitle),
'title': (image.translated.title ?: fallbackImageTitle)
} %}
{% if isProduct %}
{% set attributes = attributes|merge({ 'itemprop': 'image' }) %}
{% endif %}
{% sw_thumbnails 'gallery-slider-thumbnails-image-thumbnails' with {
media: image,
sizes: {
'default': '200px'
}
} %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endfor %}
{% endblock %}
</div>
{% endblock %}
{% block element_image_gallery_inner_thumbnails_controls %}
<div data-thumbnail-slider-controls="true" class="gallery-slider-thumbnails-controls">
{% block element_image_gallery_inner_thumbnails_controls_prev %}
<button class="base-slider-controls-prev gallery-slider-thumbnails-controls-prev">
{% if galleryPosition == "left" %}
{% sw_icon 'arrow-head-up' %}
{% elseif galleryPosition == "underneath" %}
{% sw_icon 'arrow-head-left' %}
{% endif %}
</button>
{% endblock %}
{% block element_image_gallery_inner_thumbnails_controls_next %}
<button class="base-slider-controls-next gallery-slider-thumbnails-controls-next">
{% if galleryPosition == "left" %}
{% sw_icon 'arrow-head-down' %}
{% elseif galleryPosition == "underneath" %}
{% sw_icon 'arrow-head-right' %}
{% endif %}
</button>
{% endblock %}
</div>
{% endblock %}
</div>
</div>
{% endif %}
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_wrapper %}
{% if zoomModal %}
<div class="zoom-modal-wrapper">
{% block element_image_gallery_inner_zoom_modal %}
<div class="modal is-fullscreen zoom-modal js-zoom-modal{% if imageCount is same as(1) %} no-thumbnails{% endif %}"
data-image-zoom-modal="true"
tabindex="-1"
role="dialog">
{% block element_image_gallery_inner_zoom_modal_dialog %}
<div class="modal-dialog"
role="document">
{% block element_image_gallery_inner_zoom_modal_content %}
<div class="modal-content"{% if imageCount > 1 %} data-modal-gallery-slider="true"{% endif %}>
{% block element_image_gallery_inner_zoom_modal_close_button %}
<button type="button"
class="modal-close close"
data-dismiss="modal"
aria-label="Close">
{% block element_image_gallery_inner_zoom_modal_close_icon %}
<span aria-hidden="true">
{% sw_icon 'x' style { 'size': 'sm' } %}
</span>
{% endblock %}
</button>
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_body %}
<div class="modal-body">
{% block element_image_gallery_inner_zoom_modal_action_buttons %}
<div class="zoom-modal-actions btn-group"
role="group"
aria-label="zoom actions">
{% block element_image_gallery_inner_zoom_modal_action_zoom_out %}
<button class="btn btn-light image-zoom-btn js-image-zoom-out">
{% block element_image_gallery_inner_zoom_modal_action_zoom_out_icon %}
{% sw_icon 'minus-circle' %}
{% endblock %}
</button>
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_action_zoom_reset %}
<button class="btn btn-light image-zoom-btn js-image-zoom-reset">
{% block element_image_gallery_inner_zoom_modal_action_zoom_reset_icon %}
{% sw_icon 'screen-minimize' %}
{% endblock %}
</button>
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_action_zoom_in %}
<button class="btn btn-light image-zoom-btn js-image-zoom-in">
{% block element_image_gallery_inner_zoom_modal_action_zoom_in_icon %}
{% sw_icon 'plus-circle' %}
{% endblock %}
</button>
{% endblock %}
</div>
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_slider %}
<div class="gallery-slider"
data-gallery-slider-container=true>
{% 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 js-image-zoom-element js-load-img',
'alt': (image.translated.alt ?: fallbackImageTitle),
'title': (image.translated.title ?: fallbackImageTitle)
},
load: false
} %}
{% endblock %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endfor %}
{% endblock %}
</div>
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_slider_controls %}
{% if imageCount > 1 %}
<div class="gallery-slider-controls"
data-gallery-slider-controls="true">
{% block element_image_gallery_inner_zoom_modal_slider_control_prev %}
<button class="base-slider-controls-prev gallery-slider-controls-prev"
aria-label="{{ 'general.previous'|trans|striptags }}">
{% block element_image_gallery_inner_zoom_modal_slider_control_prev_icon %}
{% sw_icon 'arrow-head-left' %}
{% endblock %}
</button>
{% endblock %}
{% block element_image_gallery_inner_zoom_modal_slider_control_next %}
<button class="base-slider-controls-next gallery-slider-controls-next"
aria-label="{{ 'general.next'|trans|striptags }}">
{% block element_image_gallery_inner_zoom_modal_slider_control_next_icon %}
{% sw_icon 'arrow-head-right' %}
{% endblock %}
</button>
{% endblock %}
</div>
{% endif %}
{% endblock %}
</div>
{% endblock %}
{% if imageCount > 1 %}
{% block element_image_gallery_inner_zoom_modal_footer %}
<div class="modal-footer">
{% block element_image_gallery_inner_zoom_modal_thumbnails_controls %}
<div class="gallery-slider-modal-controls">
<div data-thumbnail-slider-controls="true" class="gallery-slider-modal-thumbnails">
<button class="base-slider-controls-prev gallery-slider-thumbnails-controls-prev"
aria-label="{{ 'general.previous'|trans|striptags }}">
{% sw_icon 'arrow-head-left' %}
</button>
<button class="base-slider-controls-next gallery-slider-thumbnails-controls-next"
aria-label="{{ 'general.next'|trans|striptags }}">
{% sw_icon 'arrow-head-right' %}
</button>
</div>
</div>
{% endblock %}
{% 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: {
'default': '200px'
},
attributes: {
'class': 'gallery-slider-thumbnails-image js-load-img',
'alt': (image.translated.alt ?: fallbackImageTitle),
'title': (image.translated.title ?: fallbackImageTitle)
},
load: false
} %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endfor %}
{% endblock %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endif %}
</div>
{% endblock %}
</div>
{% endblock %}
</div>
{% endblock %}
</div>
{% endif %}
{% endblock %}
</div>
<div class="product-media-append">
<p style="font-size:x-small;" class="product-media-append-text">Das Produktbild kann je nach Konfigurationseinstellung abweichen.</p>
</div>
{% endblock %}