Seit Contao 3.3 bietet das Template-System von Contao die Möglichkeit, dass man nur einzelne Blöcke von Templates ersetzt ("extended Template/Master-Template"). Der Vorteil davon liegt auf der Hand: Wenn man z.B. eine Änderung im großen fe_page-Template machen möchte, bedeutete das bisher, dass man bei jedem Update nach Änderungen schauen und diese einarbeiten musste. Beim neuen Template-System werden aber nur Abschnitte verändert, während man Contao anweist, dass es sonst auf das jeweilige Original-Template zugreifen soll.
Da ich immer wieder danach gefragt werde, stelle ich hier ein ganz einfaches Beispiel vor. Das Ziel ist es, dass rund um das <div id="container"> aus dem Original-Template noch ein weiteres <div id="container-wrapper"> herumkommt. Das geht so:
- Im Contao-Backend unter "Templates" das fe_page-Template ablegen und es dann in fe_page_beispiel umbenennen.
- Den Inhalt des Templates leeren und stattdessen mit dem unten angegebenen Code befüllen.
- In den Seitenlayouts einstellen, dass als Haupt-Template nicht mehr auf fe_page sondern auf fe_page_beispiel zugegriffen werden soll.
- Sich darüber freuen, dass nun das neue DIV im Frontend an der gewünschten Stelle ausgegeben wird
Code:
<?php $this->extend('fe_page'); ?>
<?php $this->block('container'); ?>
<div id="container-wrapper">
<?php $this->parent(); ?>
</div>
<?php $this->endblock(); ?>
Mehr dazu hier:
Template-Vererbung - https://contao.org/de/news/contao_3-3-RC1.html
Keynote - https://contao.org/files/slides/2014/konferenz/#24
Verschachtelungen - http://rocksolidthemes.com/de/contao...-3-3-templates
Lesezeichen