Tutorials

Sprachdatei bei Component-Override in Joomla 1.5

Overrides sind in Joomla ne schöne Sache. Aussehen und Aufbau von Modulen und Komponenten können nach den eigenen Vorstellungen angepasst werden ohne den Core anfassen zu müssen. Wer noch eine eigene Sprachdatei integrieren will, stößt bei manchen Core-Komponenten wie z.B. der com_contact auf Probleme. Deswegen hier ein kleines Tutorial in dem auf einer Kontaktseite vor der Internetadresse das Wort "Web:" eingebaut werden soll.

Zunächst wird eine Sprachdatei angelegt mit dem Inhalt: WEBSITE=Web: . Diese wird als 'de-DE.tpl_name.ini' im Ordner 'language - de-DE' abgespeichert.

In der template.xml des Templates wird die Sprachdatei mit aufgenommen:

1
2
3
<languages>
<language tag="de-DE">de-DE.tpl_name.ini</language>
</languages>

Nun wird die Datei 'default_address.php' aus dem Ordner 'components - com_contact - views - contact - tmpl' kopiert und im eigenen Templateordner unter 'html - com_contact - contact' eingefügt. Auch diese muss in der template.xml angegeben werden. Bei mehreren Overrides kann einfach der Ordner angegeben werden:

1
2
3
<files>
<folder>html</folder>
</files>

In der kopierten 'default_address.php suchen wir uns jetzt die Stelle an der 'Web' stehen soll und fügen dort ein:

1
<?php echo JText::_('WEBSITE'); ?>

Soweit lief noch alles normal wie üblicherweise beim Einbau von Sprachdateien. Die Sprachdatei wird geladen (zum Überprüfen Debug-Modus einschalten), aber statt 'Web:' erscheint nur ein 'WEBSITE'. Dass die Sprachdatei auch von der Kontakt-Komponente übernommen wird muss ganz oben in der Datei noch etwas eingefügt werden:

1
2
3
4
5
6
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
//ab hier einfügen
$language = &JFactory::getLanguage();
$language->load('tpl_name'); //hier nur tpl_name ohne .ini
?>

Und schon wird auch in der Kontakt-Komponente die Sprachdatei beachtet.