Gewusst wie: die Ausgabe des Joomla!-Kerns mit Overrides ersetzen

From Joomla! Documentation

This page is a translated version of the page How to override the output from the Joomla! core and the translation is 100% complete.

Other languages:
български • ‎Deutsch • ‎English • ‎español • ‎français • ‎Nederlands

Irgendwann ist es nötig, die Anzeige einer Joomla! Erweiterung (z.B. eine Komponente oder eines Moduls, egal ob vom Joomla! Kern oder einem Drittanbieter) zu verändern. Natürlich könnte man die Erweiterung umprogrammieren, aber das ist sehr anspruchsvoll. Glücklicherweise gibt es einen anderen Weg.

Die Standard-Ausgabe von jedem Joomla! Modul oder Komponente kann durch Hinzufügen von Code im html Ordner des Templates überbrückt werden. Es können auch zwei weitere Aspekte der Kern-Funktionen überschrieben werden: Chrome Modul und die Seitenanzeige.

Seit Joomla 3.2 können Overrides mit Hilfe des Template-Managers erstellt werden Anlegen von Overrides

Wie man sich mit Overrides einen Vorsprung erarbeitet

Wenn du neu mit Joomla! entwickelst, ist es wahrscheinlich am einfachsten mit einer vorhandenen Ansicht zu beginnen, und diese versuchen zu ändern, damit es dann so aussieht, wie du willst. Demzufolge solltest du eine Kopie der vorhandenen Ansicht in das html - Verzeichnis deines Templates legen, und dann mit dieser Kopie fortfahren.

Die Verzeichnis-Struktur, die du brauchst, ist:

TEMPLATE_NAME/html/EXTENSION_NAME/VIEW_NAME/FILE_NAME.php

Falls man zum Beispiel die Art und Weise wie die 'Artikel'-Ansicht einen com_content-Artikel darstellt, ändern möchtest, dann sollte die Datei von hier:

PATH_TO_JOOMLA/components/com_content/views/article/tmpl/default.php
nach hier kopieren:
TEMPLATE_NAME/html/com_content/article/default.php

(beachte den leichten Unterschied in der Verzeichnisstruktur)

Genauso verhält es sich, falls du die Darstellung des mod_login-Moduls ändern willst. In diesem Fall bitte das hier:

PATH_TO_JOOMLA/modules/mod_login/tmpl/default.php
nach hier kopieren:
TEMPLATE_NAME/html/mod_login/default.php

Joomla! bringt bereits ein Frontend-Template namens Protostar. Protostar verwendet Template-Overrides um ein tabellenloses Layout zur schnelleren, geschmeidigeren und semantisch korrekten Textauszeichnung zu kreieren. Um herauszufinden, wie das vor sich geht, finde den Standort deines Joomla! template-Installationsordners, und du wirst das Beez Template darin finden. Im Beez Template-Ordner, ist ein Unterverzeichnis namens html.

Die gesamte Verzeichnisstruktur stellt sich wie folgt dar:

/your_joomla/templates/Beez/html/

Wenn du versuchen willst, die in Beez verwendeten Overrides zu verändern, kannst du einfach per copy und paste das Beez html-Verzeichnis in dein eigenes Template Hauptverzeichnis verschieben. Wie auch immer du dich entscheidest, deine Override-Dateien zu erstellen, du musst sicherstellen, dass diese Dateien richtig in deinem Template installiert sind. Dazu solltest du die folgenden Zeilen in die templateDetails.xml-Datei des Templates hinzufügen (zwischen die <files> und </files> Tags):

<folder>html</folder>

Obiger Code teilt dem Joomla! Paket Installer wissen, dass es Dateien zum Entpacken gibt und dass diese Dateien ein Teil des Templates sind.

Weitere Tipps

Man kann die zentralen Joomla!-Bilder, die im Ordner /media/folder gespeichert sind, überlagern. Speichere einfach ein alternatives Bild mit demselben Namen in dein Template-Verzeichnis. Beispielsweise verwendet das Breadcrumbs Modul einen orangen Pfeil, der aus dem Verzeichnis /media/system/images/arrow.png stammt. Joomla! wird dein Override verwenden, wenn du deine Version des Bildes im Ordner /templates/your_template_name/images/system/arrow.png ablegst.

Template Overrides sind fast unbegrenzt einsetzbar. Sie erlauben es dir, Komponenten zur Joomla! Kernansicht hinzuzufügen, zu editieren und zu entfernen. Den Template Manager verwenden um Override-Dateien zu erstellen zur Überarbeitung bereit.

Hinweis: Für den Browser Firefox gibt es ein Addon namens Firebug, welches sehr nützlich beim Betrachten des HTML-Quellcodes einer Website sein kann und sehr behilflich ist beim Anpassen des PHP-Codes, der in Template-Overrides verwendet wird. Für weitere Informationen schau dir bitte dieses Video an: ein freies Videotutorial zur Verwendung von Firebug mit Joomla!. Firebug ist inzwischen auch für den Internet Explorer verfügbar: Firebug Lite.

Weitere Informationen erhältst du über die folgenden Ressourcen: