vendor/shopware/storefront/Resources/views/storefront/element/cms-element-image.html.twig line 1
{% block element_image %}{% set config = element.fieldConfig.elements %}<div class="cms-element-{{ element.type }}{% if config.verticalAlign.value %} has-vertical-alignment{% endif %}">{% block element_product_slider_alignment %}{% if config.verticalAlign.value %}<div class="cms-element-alignment{% if config.verticalAlign.value == "center" %} align-self-center{% elseif config.verticalAlign.value == "flex-end" %} align-self-end{% else %} align-self-start{% endif %}">{% endif %}{% block element_image_inner %}{% set imageElement %}{% block element_image_container %}{% if element.data.media.url %}<div class="cms-image-container is-{{ element.translated.config.displayMode.value }}"{% if element.translated.config.minHeight.value and element.translated.config.displayMode.value == "cover" %} style="min-height: {{ element.translated.config.minHeight.value }};"{% endif %}>{% block element_image_media %}{% set attributes = {'class': 'cms-image','alt': (element.data.media.translated.alt ?: ''),'title': (element.data.media.translated.title ?: ''),'loading': 'lazy'} %}{% if element.translated.config.displayMode.value == 'cover' or element.translated.config.displayMode.value == 'contain' %}{% set attributes = attributes|merge({ 'data-object-fit': element.translated.config.displayMode.value }) %}{% endif %}{% sw_thumbnails 'cms-image-thumbnails' with {media: element.data.media} %}{% endblock %}</div>{% endif %}{% endblock %}{% endset %}{% if element.translated.config.url.value %}<a href="{{ element.translated.config.url.value }}"class="cms-image-link"{% if element.translated.config.newTab.value %}target="_blank" rel="noopener"{% endif %}>{{ imageElement }}</a>{% else %}{{ imageElement }}{% endif %}{% endblock %}{% if config.verticalAlign.value %}</div>{% endif %}{% endblock %}</div>{% endblock %}