Template vererben
Contao erlaubt das Vererben von Templates. Dabei wird ein Template nicht komplett überschrieben, sondern nur gezielt einzelne Teilbereiche (Blöcke) angepasst.
Blöcke anpassen
Zur Gliederung umschließen viele Templates ihre Inhalte bereits in $this->block('name-des-blocks')
und
$this->endblock()
Ausdrücke. Nur Inhalte, die in solchen Blöcken liegen, können angepasst werden.
Zunächst muss das Basis-Template mittels $this->extend('name-des-templates')
angegeben werden. Anzupassende Blöcke
können dann, wie im originalen Template, durch Einschließen in $this->block('name-des-blocks')
und $this->endblock()
angegeben und ihre Inhalte überschrieben werden.
Mittels $this->parent()
lässt sich der originale Inhalt des Blocks ausgeben.
Beispiel
Das Template fe_page.html5
ist in mehrere Blöcke aufgeteilt (u. a. head
, meta
, body
, footer
).
Wir möchten lediglich eine weitere Meta-Angabe hinzufügen – dazu schreiben wir unser Template wie folgt:
<?php $this->extend('fe_page'); ?>
<?php $this->block('meta'); ?>
<?php $this->parent(); ?>
<meta name="author" content="Max Muster">
<?php $this->endblock(); ?>