{% use "@Contao/component/_picture.html.twig" %} {% block picture_component %} {% if not figure.image.sources %} {# Just an image (no sources) #} {% block image %} {% set img = figure.image.img %} {% set define_proportions = img.width|default(false) and img.height|default(false) %} {% set img_attributes = attrs() .set('src', img.src) .setIfExists('title', figure.hasMetadata ? figure.metadata.title|insert_tag : null) .setIfExists('srcset', img.srcset is defined and img.srcset != img.src ? img.srcset : null) .setIfExists('sizes', img.sizes|default) .setIfExists('width', define_proportions ? img.width : null) .setIfExists('height', define_proportions ? img.height : null) .setIfExists('loading', img.loading|default) .addClass(img.class|default) .mergeWith(figure.options.img_attr|default) .mergeWith(img_attributes|default) %} {% set alttag = figure.metadata.alt|insert_tag %} {% if alttag == '' %} {% set alttag = figure.metadata.title|insert_tag %} {% endif %} {% if alttag == '' %} {% set alttag = img.src|split('/')|last %} {% endif %} {% endblock %} {% else %} {# Picture with image and sources #} {% set picture_attributes = attrs() .mergeWith(figure.options.picture_attr|default) .mergeWith(picture_attributes|default) %} {% block sources %} {% for source in figure.image.sources %} {% block source %} {% set define_proportions = source.width|default(false) and source.height|default(false) %} {% set source_attributes = attrs() .set('srcset', source.srcset) .setIfExists('sizes', source.sizes|default) .setIfExists('media', source.media|default) .setIfExists('type', source.type|default) .setIfExists('width', define_proportions ? source.width : null) .setIfExists('height', define_proportions ? source.height : null) .mergeWith(figure.options.picture_attr|default) .mergeWith(source_attributes|default) %} {% endblock %} {% endfor %} {% endblock %} {{ block('image') }} {% endif %} {# Add metadata #} {% block schema_org %} {% if figure.schemaOrgData|default(false) %} {% do add_schema_org(figure.schemaOrgData) %} {% endif %} {% endblock %} {% endblock %}