Skip to content

Twig Parent richtig verwenden

{{ parent() }} ist ein Platzhalter für den ursprünglichen Inhalt eines Blocks. Es kann mehrmals im Template verwendet werden – also in jedem einzelnen Block, falls alle Blöcke angepasst werden sollen.

base.html.twig
{% block content %}
<p>Willkommen auf meiner Website!</p>
{% endblock %}

Erweitertes Template: Hier sagt {{ parent() }}, dass der ursprüngliche Text “Willkommen auf meiner Website” übernommen wird und darunter wird noch eine Zeile hinzugefügt.

{% extends 'base.html.twig' %}
{% block content %}
{{ parent() }}
<p>Viel Spaß beim Stöbern!</p>
{% endblock %}

Komplexere Templates mit mehreren Blöcken

base.html.twig
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}Meine Website{% endblock %}</title>
</head>
<body>
<header>
{% block header %}
<h1>Willkommen auf meiner Website</h1>
{% endblock %}
</header>
<main>
{% block content %}
<p>Hier kommt der Hauptinhalt.</p>
{% endblock %}
</main>
<footer>
{% block content %}
<p>© 2025 meinewebsite</p>
{% endblock %}
</footer>
</body>
</html>

Dieses Template wollen wir jetzt extenden:

{% extends 'base.html.twig' %}
{% block header %}
{{ parent() }}
<p>Hier ist zusätzlicher Text im Header.</p>
{% endblock %}
{% block footer %}
{{ parent() }}
<p>Hier ist zusätzlicher Text im Footer.</p>
{% endblock %}