| Mini-Tutorial: ein "echtes" Override für Joomla!-Sprachdateien |
|
Kategorie: Tutorials | Geschrieben von Gerald Martin am Dienstag, 02. Februar 2010 | 3022x gelesen
Der ein- oder andere kennt das: im Template will man manche Ausdrücke,
die im Joomla!-Core vorgegeben sind, austauschen. "Geschrieben von [Autor des Beitrags]" Wenn man diesen Text z.B. in "[Autor des Beitrags] hat geschrieben" ändern möchte, dann führt das meistens zum Griff in die Sprachdateien. Was passiert aber bei einem Update?
Schnell ist das Update eingespielt - und genau so schnell sind evtl.
neuere Sprachdateien im Verzeichnis.
Die Idee ist simpel: Lassen wir die originalen Sprachdateien einfach in Ruhe! Die Lösung: Wir legen eine eigene Sprachdatei an, in der wir unsere Änderungen schreiben. Als Voraussetzung sehe einen sicheren Umgang mit Template Overrides . 1. Schritt. Sprachdatei anlegenEs wird im Standardverzeichnis eine Datei mit folgender Syntax angelegt: [joomla]/language/[meine_sprache]/tpl_[templatename].ini Ihr werdet sicher sehen, dass die Standard-Templates dort bereits ebenfalls eigene Dateien haben, z.B. 'de-DE.tpl_beez.ini'. In die Datei schreibe ich meine eigene Definition: WRITTENBY=%s hat geschrieben '%s' steht für den Autor - dieser Platzhalter wird durch den Autorenname ersetzt. 2. Schritt. eigene Sprachdatei laden
Die eigene Sprachdatei wird im Template nicht automatisch geladen - so, wie es bei den Overrides im Verzeichnis '.../[templatename]/html/...' der Fall ist.
Das heißt Für das Template-Override im Beispiel habe ich einfach den Ordner 'html/com_content/' aus dem beez-Template in mein Template-Verzeichnis kopiert. Zum einen spuckt Joomla! damit besseren Code in den Beiträgen aus, zum anderen kann ich mein CSS recht einfach definieren, indem ich mir das Original von beez anschaue und ggf. übernehme.
Jetzt muss ich mir die Datei in diesem Verzeichnis suchen, in der ich meine eigene Sprachdatei laden will. html/com_content/article/default.php Ich bearbeite hier also die Einzelansicht eines Beitrags - die folgenden Änderungen im Quelltext gelten aber analog auch für sämtliche andere Ansichten.
Im oberen Teil der Datei, gleich nach dem ersten Befehl, gebe ich den Befehl zum Laden der eigenen Sprachdatei.
<?php
defined('_JEXEC') or die('Restricted access');
JPlugin::loadLanguage( 'tpl_radteam' ); // hier die die Sprachdatei geladen
?>
Zuguterletzt muss die Konstante für meine eigene Ersetzung habe ich noch leicht geändert werden, da ich in meiner Sprachdatei die Konstante auch anders genannt habe (Zeile 40):
... <span class="createdby"><?php JText::printf('WRITTENBY', ...
Wie bereits geschrieben: diese Änderungen müssen in jedem Override vorgenommen werden, in welchem die eigene - templateabhängige - Sprachdatei zum Einsatz kommen soll.
Quellen:
Powered by AkoComment Tweaked Special Edition v.1.4.6 |
|||||||

Kommentare (1)