Ich habe klassische Inhaltselement "Text" und möchte mehrere Templates erstellen, da ich
Als erstes das Bild benötige, dann den Titel (Überschrift), dann den Textblock und dann die Meta Angaben vom Bild wie URL und Caption.
Ich verstehe Twig nach wie vor leider nicht und versuche mich schon mit LLMs zu behelfen, aber die kommen auch nicht klar. Die Templates die auf Basis der Doku von Contao in Twig erstellt werden funktionieren selten.
Das hier ist das Standard Twig für "Text"
Ich möchte einfach nur (wenn vorhanden) das Bild zuerst, danach (wenn vorhanden) den Titel, danach (wenn vorhanden) den Text, danach (wenn vorhanden) einen Hyperlink aus der Meta Angabe "URL" des Bildes und als Linktext den Meta Titel der URL
ich bekomme solche Vorschläge
Der Titel (headline) wird im Frontend zweimal ausgegeben.
Über dem Bild und darunter.
Ich komme nicht an die Metabeschreibung "titel" vom Bild als Link-Text. Im Moment statisch eingetragen
Als erstes das Bild benötige, dann den Titel (Überschrift), dann den Textblock und dann die Meta Angaben vom Bild wie URL und Caption.
Ich verstehe Twig nach wie vor leider nicht und versuche mich schon mit LLMs zu behelfen, aber die kommen auch nicht klar. Die Templates die auf Basis der Doku von Contao in Twig erstellt werden funktionieren selten.
Das hier ist das Standard Twig für "Text"
HTML-Code:
{% extends '@Contao/content_element/_base.html.twig' %}
{% use '@Contao/component/_figure.html.twig' %}
{% use '@Contao/component/_rich_text.html.twig' %}
{% set content_layout_attributes = attrs()
.addClass('media media--' ~ layout, layout and image)
.mergeWith(content_layout_attributes|default)
%}
{# By default we add the layout attributes to the wrapper element. If you want to
disable this behavior, set "default_content_layout" to false. #}
{% set attributes = attrs(attributes|default)
.mergeWith(content_layout_attributes, default_content_layout is not defined or default_content_layout)
%}
{# Media #}
{% block text_media %}
{% if image %}
{% with {figure: image} %}{{ block('figure_component') }}{% endwith %}
{% endif %}
{% endblock %}
{% block content %}
{% if layout != 'below' %}
{{ block('text_media') }}
{% endif %}
{# Richtext #}
{% block text %}
{% with {text, attributes: text_attributes|default} %}{{ block('rich_text_component') }}{% endwith %}
{% endblock %}
{% if layout == 'below' %}
{{ block('text_media') }}
{% endif %}
{% endblock %}
ich bekomme solche Vorschläge
HTML-Code:
{% extends '@Contao/content_element/_base.html.twig' %}
{% use '@Contao/component/_figure.html.twig' %}
{% use '@Contao/component/_rich_text.html.twig' %}
{# Headline-Block leer lassen #}
{% block headline %}{% endblock %}
{% block content %}
{% if image %}
{% if image.linkHref %}
<a href="{{ image.linkHref }}"
{% if image.linkTitle %}title="{{ image.linkTitle }}"{% endif %}
{{ image.linkAttributes|default('')|raw }}>
{% with {figure: image} %}{{ block('figure_component') }}{% endwith %}
</a>
{% else %}
{% with {figure: image} %}{{ block('figure_component') }}{% endwith %}
{% endif %}
{% endif %}
{# 2. Headline #}
{% if headline.text %}
<{{ headline.tag|default('h3') }}>
{{ headline.text }}
</{{ headline.tag|default('h3') }}>
{% endif %}
{# 3. Text #}
{% block text %}
{% with {text, attributes: text_attributes|default} %}
{{ block('rich_text_component') }}
{% endwith %}
{% if image.linkHref %}
<a href="{{ image.linkHref }}">Mehr erfahren
{% if image.linkTitle %}title="{{ image.linkTitle }}"{% endif %}
</a>
{% endif %}
{% endblock %}
{% endblock %}
Der Titel (headline) wird im Frontend zweimal ausgegeben.
Über dem Bild und darunter.
Ich komme nicht an die Metabeschreibung "titel" vom Bild als Link-Text. Im Moment statisch eingetragen

Comment