Joomla
Joomla 1.5 - Core Dateien ändern - Layout Overrides Problem: Möchte man die Ausgabe einer Core Datei ändern, ist es nicht unbedingt vorteilhaft, die Core Datei direkt zu editieren. Beim nächsten Update könnte die Datei aktualisiert worden sein und somit ist die Änderung in der Datei natürlich weg. Wie kann man dann Dateien editieren, ohne sie beim nächsten Update wieder ändern zu müssen?
Lösung: Das Zauberwort in Joomla 1.5 lautet Layout-Override
Mit Hilfe von Overrides kann man die Ausgabe von Joomla sehr einfach anpassen und steuern. Zum Beispiel ist die Komponente com_content für die Ausgabe der Beiträge zuständig. Leider erzeugt diese Komponente noch immer Layouts in der veralteten Tabellenform. Um das zu unterbinden, können Overrides im Template eingesetzt werden, die eine moderne CSS-Ausgabe ermöglichen.
Das Template BEEZ ist hier vorbildlich. Es stellt Joomlas View-Modell
(Model-View-Controller - Prinzip) alle benötigten Daten zur
Verfügung, um eine saubere, barrierefreie Ausgabe zu ermöglichen.
Möchte man eigene Overrides schreiben, dann sollte man sich in diesem Template die richtige Ordnerstruktur anschauen, damit das Template-Override auch funktioniert.
Ohne Override:
<table class="blog" cellpadding="0" cellspacing="0"> <tbody><tr> <td valign="top"> <div> <table class="contentpaneopen"> <tbody><tr> <td class="contentheading" width="100%"> Willkommen bei Joomla! </td>
Mit Override - Ausgabe im BEEZ-Template:
<h2 class="contentheading"> Willkommen bei Joomla!</h2>
Wie man sieht, ist der Code um einiges sauberer und kürzer. Das sollte auch in Hinsicht auf Suchmaschinenfreundlichkeit beachtet werden.
Modul: Login-Modul
Passwort vergessen? und Benutzernamen vergessen? sollen nicht angezeigt werden.
Achtung: Der Vorgang kann einfach wie im Tutorial durchgeführt werden. Es ist jedoch besser, sich in die offiziellen Docs von Joomla einzulesen, um das Thema "Output Overrides" richtig zu verstehen. Unten sind weiterführende Links aufgelistet.
1. Um Overrides zu ermöglichen, muss im gewählten Template ein Ordner mit dem Namen "html" erstellt werden.
Verzeichnisstruktur -> /templates/TEMPLATE/html
2. Möchte man jetzt wie im Beispiel das Login Modul bearbeiten, muss man in dem html-Ordner einen Unterordner mit dem Namen "mod_login" anlegen
Verzeichnisstruktur -> /template/TEMPLATE/html/mod_login
und dort die Template-Datei "default.php" (+ index.html) des Moduls (unter /modules/mod_login/tmpl) reinkopieren.
Tipp: Da die Ausgabe im Template BEEZ bereits wunderbar gelöst ist, kann auch die default.php (unter /templates/beez/html/mod_login/) benutzt werden. Für dieses Beispiel wird diese Datei benutzt!
3. Nun kann die Datei default.php angepasst werden. Um die Anzeige Passwort vergessen? und Benutzernamen vergessen? zu unterbinden, müssen folgende Zeilen auskommentiert oder gelöscht werden.
<p>
<a href="<?php echo JRoute::_('index.php?option=com_user&view=reset#content'); ?>">
<?php echo JText::_('FORGOT_YOUR_PASSWORD'); ?></a>
</p>
<p>
<a href="<?php echo JRoute::_('index.php?option=com_user&view=remind#content'); ?>">
<?php echo JText::_('FORGOT_YOUR_USERNAME'); ?></a>
</p>
Das ist das Ergebnis:
Vorher:
Nachher:
Weiterführende Links zu Joomlas Template Override
Suchen Sie ein individuelles und sauberes Joomla 1.5 Template für kleines Geld?
Hier können Sie sich ein günstiges Joomla 1.5 Template vom Profi erstellen lassen.
Offizielle Docs: Understanding Output Overrides (eng)
Deutsche Übersetzung der Docs: Overrides verstehen
Video: Template Overrides (Barrierefrei)
Fragen, Kommentare und Tipps zu "Joomla 1.5 - Core Dateien ändern - Layout Overrides" bitte mit Hilfe des unteren Kontaktformulars hinterlassen.
Seitennavigation
Vorheriger Beitrag:
GZIP-Komprimierung mit SmartOptimizer bei Joomla
Nächster Beitrag:
Ajax Javascript Applikationen und JS-Frameworks (Linksammlung)