{% block element_image_gallery %} {# cms element data and configs #} {% if element.fieldConfig is defined and element.data is defined %} {% set sliderConfig = element.fieldConfig.elements %} {% set mediaItems = [] %} {% for item in element.data.sliderItems %} {% set mediaItems = mediaItems|merge([item.media]) %} {% endfor %} {% set zoom = sliderConfig.zoom.value %} {% set gutter = sliderConfig.gutter.value %} {% set keepAspectRatioOnZoom = sliderConfig.keepAspectRatioOnZoom.value %} {% set magnifierOverGallery = sliderConfig.magnifierOverGallery.value %} {% set zoomModal = sliderConfig.fullScreen.value %} {% set minHeight = sliderConfig.minHeight.value|trim|replace({' ':''}) %} {% set displayMode = sliderConfig.displayMode.value %} {% set navigationArrows = sliderConfig.navigationArrows.value %} {% set navigationDots = sliderConfig.navigationDots.value %} {% set galleryPosition = sliderConfig.galleryPosition.value %} {% set verticalAlign = sliderConfig.verticalAlign.value %} {% set zoomImageContainerSelector = sliderConfig.zoomImageContainerSelector.value %} {% set arViewerBaseOptions = { snippets: { arErrors: { desktopNotSupported: { reason: 'spatial.ar.errors.desktopNotSupported.reason'|trans|striptags, solution: 'spatial.ar.errors.desktopNotSupported.solution'|trans|striptags }, notSafariOnIOS: { reason: 'spatial.ar.errors.notSafariOnIOS.reason'|trans|striptags, solution: 'spatial.ar.errors.notSafariOnIOS.solution'|trans|striptags }, IOSVersionMismatch: { reason: 'spatial.ar.errors.IOSVersionMismatch.reason'|trans|striptags, solution: 'spatial.ar.errors.IOSVersionMismatch.solution'|trans|striptags }, unknownIOSError: { reason: 'spatial.ar.errors.unknownIOSError.reason'|trans|striptags, solution: 'spatial.ar.errors.unknownIOSError.solution'|trans|striptags }, unknownARError: { reason: 'spatial.ar.errors.unknownARError.reason'|trans|striptags, solution: 'spatial.ar.errors.unknownARError.solution'|trans|striptags } }, openArView: 'spatial.ar.openArView'|trans|striptags, launchingArView: 'spatial.ar.launchingArView'|trans|striptags, } } %} {% endif %} {% if fallbackImageTitle is not defined %} {% set fallbackImageTitle = '' %} {% endif %} {# @var mediaItems \Shopware\Core\Content\Media\MediaCollection #} {% set imageCount = mediaItems|length %} {# too many underneath thumbs or slider dots make them hard to see #} {% set maxItemsToShowMobileNav = 5 %} {% set maxItemsToShowNav = 8 %} {% set magnifierOptions = [] %} {% if magnifierOverGallery %} {% set magnifierOptions = magnifierOptions|merge({ 'magnifierOverGallery': true, 'cursorType': 'crosshair' }) %} {% endif %} {% if keepAspectRatioOnZoom is defined and keepAspectRatioOnZoom is not null %} {% set magnifierOptions = magnifierOptions|merge({ 'keepAspectRatioOnZoom': keepAspectRatioOnZoom }) %} {% endif %} {% if zoomImageContainerSelector %} {% set magnifierOptions = magnifierOptions|merge({ 'zoomImageContainerSelector': zoomImageContainerSelector }) %} {% endif %} {% set defaultEnableAugmentedReality = config('core.media.defaultEnableAugmentedReality') %} {% set defaultArPlacement = config('core.media.defaultARPlacement') %}
{% block element_image_gallery_alignment %} {% if config.verticalAlign.value %}
{% endif %} {% set gallerySliderOptions = { slider: { navPosition: 'bottom', speed: 500, gutter: gutter ? gutter : 0, controls: navigationArrows != "none", autoHeight: false, startIndex: startIndexThumbnails ? startIndexThumbnails : null }, thumbnailSlider: { items: (galleryPosition == "underneath") ? 6 : 5, slideBy: (galleryPosition == "underneath") ? 5 : 4, controls: true, startIndex: startIndexThumbnails ? startIndexThumbnails : null, ariaLive: false, responsive: { xs: { enabled: false, controls: false }, sm: { enabled: false, controls: false } } } } %} {% if galleryPosition == "left" %} {% set gallerySliderOptions = gallerySliderOptions|replace_recursive({ thumbnailSlider: { responsive: { md: { axis: 'vertical' }, lg: { axis: 'vertical' }, xl: { axis: 'vertical' }, xxl: { axis: 'vertical' } } } }) %} {% endif %} {% set galleryZoomSliderOptions = { baseSliderWrapperClass: 'modal-body' } %} {% if page.product.media.hasSpatialObjects() %} {% set galleryZoomSliderOptions = galleryZoomSliderOptions|replace_recursive({ slider: { loop: false, rewind: true, swipeAngle: 5 }, }) %} {% set gallerySliderOptions = gallerySliderOptions|replace_recursive({ slider: { loop: false, rewind: true, swipeAngle: 5 }, }) %} {% endif %} {% block element_image_gallery_inner %} {% block element_image_gallery_inner_skip_gallery %} {% sw_include '@Storefront/storefront/component/skip-target.html.twig' with { targetId: block.id, snippet: 'component.cms.imageGallery.skipImageGallery', } %} {% endblock %} {% endblock %} {% if config.verticalAlign.value %}
{% endif %} {% endblock %}
{% block element_image_gallery_target_after_gallery %}
{% endblock %} {% endblock %}