beez-Template: Template-Override Funktionen PDF Drucken E-Mail
Joomla! 1.5: 02. Templates > Template-Aufbau
Geschrieben am: Freitag, 5. September 2008

Frage:
Habe mir mal das beez-Template genauer angeschaut. Im beez werden die Inhalte ja nicht in der Tabelle <table class="contentpaneopen"> sondern im <div id="page"> ausgegeben.

Kannst Du mir in groben Zügen erklären wie das funktioniert? Nutzt das beez-Template die Template-Override-Funktionen?

Antwort:
Ja, das ist richtig! Durch die sogenannte "Template-Override"-Funktion kann man in Joomla! 1.5.x, auf den generierten Quellcode und damit auch auf die Ausgabe der Inhalte, gezielt Einfuß nehmen. Das beez-Template nutzt diese "Template-Overriding"-Funktion.

Wie das funktioniert? Ich versuche mal die wichtigsten Schritte zu erklären. Vom Prinzip her funktioniert das Ganze folgendermaßen ...

Standardmäßig werden die Inhalte auch in Joomla! 1.5 immer in der Layouttabelle <table.contentpaneopen>Inhalte</table> ausgegeben.

Screen01: rhuk_milkyway-Template Ausgabe der Inhalte


Im beez-Template werden die Inhalte im Element <div id="page">Inhalte</div> ausgegeben.

Screen02: beez-Template Ausgabe der Inhalte


**********************************

Möchte man die Joomla!-Standardausgabe der Inhalte, wie im beez-Template angewandt, über eigene CSS-Klassen steuern, muss im Verzeichnis des verwendeten Templates ein Unterverzeichnis "/html" angelegt werden.

Die Ausgabe der Inhalte wird von Joomla! über die Komponente "com_content" gesteuert. Daher ist es notwendig im "/html"-Verzeichnis des Templates noch weitere Unterzeichnisse für die Inhalte anzulegen. Die Verzeichnis-Struktur sieht dann in etwa so aus:

- Name des Templates (z. B. beez)
--- html
------ com_content
----------- article
----------- category
----------- frontpage
----------- section

Screen03: beez-Template Verzeichnisstruktur

**********************************

Um die Ausgabe eines einzelnen Beitrags nach eigenen Vorgaben zu steuern, muss im Verzeichnis "/html/com_content/article" eine PHP-Datei mit dem Namen "default.php" eingefügt werden.

In dieser Datei hinterlegt man die individuellen Angaben für die Ausgabe eines Beitrags. Im beez-Template findet man ganz am Anfang der der Datei "default.php" die Angabe <div id="page">.

Screen04: beez-Template - Datei default.php


Auch im Screen02 zu sehen: Damit wird festgelegt, das ein Beitrag im Frontend, im div-Element <div id="page">Inhalt</div> ausgegeben wird.

**********************************

So funktioniert das Prinzip des "Template-Overriding", das sich nach dem gleichen Schema auch auf alle anderen Elemente, die von Joomla! generiert werden, anwenden läßt.

Die Funktion "Template-Override" ist genial!

Wie hier beschrieben läßt sich damit die Ausgabe im Frontend steuern, ohne die Joomla! Core-Dateien zu verändern! In der Joomla! Version 1.0.x war das ohne Änderung der Core-Dateien NICHT möglich!

Größter Vorteil der sich daraus ergibt:
Bei einem System-Update bleibt die Ausgabe der Beiträge davon unberührt, d.h. die Beiträge werden auch nach erfolgreichem Joomla!-Update, über die im Template hinterlegte Datei "/html/com_content/article/default.php" gesteuert.

**********************************

Die Funktion des "Template-Override" gehört eindeutig schon in die Schublade "Joomla! Templates für Fortgeschrittene". Ausführlich wird dieses Thema sicherlich dann von Daniel Koch im Template-Workshop bei akademie.de behandelt. Hoffe meine Antwort ist trotzdem einigermaßen verständlich und hilfreich.

 
< zurück   weiter >

Kurze URL: www.joomla-workshop.de/content/view/497/116
| joomla-workshop.de ist ein projekt von portal 2 | Zum Seitenanfang