Ein paar Fragen zu Twig in Contao
Hallo!
Ich bin mal wieder freudig mit Contao am werkeln und setzte mich momentan mit Contao 5 und Twig auseinander.
Und zugegeben steig ich bei Twig noch nicht so ganz durch.
Über die Tage haben sich jetzt paar Fragen angesammelt, hoffe das ist das richtige Forum dafür. :p
1. Kann ich mit einem einfachen if statement nach Front- und Backend checken?
Als Beispiel:
Ich möchte Element-Gruppen benennen und dafür die Headlines nutzen, für ein übersichtlicheres Backend.
Diese sollen aber nicht im Frontend gerendert werden.
Im Prinzip suche ich also nach so etwas wie:
Code:
// element_group.html.twig
{% if frontend %}
{%- block headline_component -%}
{%- endblock -%}
{% endif %}
2. Kann ich in einem Template die existierende Hierarchie von Blöcken ändern, ohne das komplette Template neu zu schreiben?
Als Beispiel:
Ich habe einen Bildlink mit Caption. Ich möchte, dass das <a> element nicht nur <picture>, sondern auch <figcaption> umschließt, also:
HTML-Code:
<figure>
<a href="my.cool.link">
<picture>...</picture>
<figcaption>My cool link</figcaption>
</a>
</figure>
Gibt es da eine einfache Herangehensweiße, Blöcke einfach "umzuordnen"?
3. Wenn ich ein globales figure_component template angelegt habe, dann wird das standardmäßig von Content-Elements die figure_components haben auch genutzt, statt die factory setting Contao figure_component.
Wenn ich allerdings ein variant template nutze für zum Beispiel text, dann wird die Standard figure_component genutzt.
Als Beispiel:
Code:
// text/myHeroArticle.html.twig
{% extends '@Contao/content_element/text.html.twig' %}
{% block content %}
<div class='content-text-inner myHeroClass'>
{{ parent() }}
</div>
{% endblock %}
Warum verhält sich das so und was müsste ich machen, damit dieses Template das globale figure_component template nutzt?