Template-Upgrade 1.5 auf 1.6
Eine Leseprobe aus dem Buch Templates für Joomla! 1.6, das ich zusammen mit Andreas Lehr schrieb; erschienen im Franzis-Verlag, November 2010.

Liegt ein Template für Joomla 1.5 vor, kann es mit einigen Handgriffen in ein Template für 1.6 überführt werden. Folgende Dateien werden dabei geändert:
index.phptemplateDetails.xmltemplate.cssundtemplate.css.phperror.php
Diese Dateien werden neu erstellt:
template_preview.png- ggf. Sprachdateien
index.php
In dieser Datei gilt es einiges umzuschreiben, aber keine Angst: Es sieht nach mehr aus, als es ist.
Die Zeile
defined( '_JEXEC' ) or die( 'Restricted access' );
wird zu
defined( '_JEXEC' ) or die;
Hier wird einfach nur etwas weggelassen. Als Nächstes gilt es, eine neue Variable zu deklarieren.
$app = JFactory::getApplication();
Diese Variable ersetzt $mainframe aus Joomla 1.5, und anstatt
$mainframe->getCfg('live_site');
wird nun
$app->getCfg('live_site');
eingesetzt (weitere Template-Befehle siehe Referenzteil).
templateDetails.xml
Hier ändert sich der Dokumententyp von
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://dev.joomla.org/xml/1.5/template-install.dtd">
in
<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">
Direkt darunter ändert sich die Zeile
<install version="1.5" type="template">
in
<install version="1.6" type="template">
Die Methode der Parameter hat sich verändert. Als Beispiel ändert sich der folgende Code:
<params>
<param name="parameter1"
type="radio"
default="0"
label="Parametername"
description="Parameterbeschreibung">
<option value="0">deaktiv</option>
<option value="1">aktiv</option>
</param>
</params>
in
<config>
<fields name="params">
<fieldset name="basic">
<field name="parameter1"
type="radio"
default="0"
label="Parametername"
description="Parameterbeschreibung" >
<option value="0">FIELD_OPTION_YES</option>
<option value="1">FIELD_OPTION_NO</option>
</fieldset>
</fields>
</config>
Parameter können jetzt mit fieldset gruppiert werden, z. B. in basic und advanced.
template.css und template.css.php
Im Cascading Stylesheet des Templates werden folgende Klassen ersetzt:
.article_separator
wird ersetzt durch
.item-separator
Die Klasse
.blog_more
wird ersetzt durch
.items-more
Die Artikel-Icons Print, PDF, E-Mail werden jetzt in eine unsortierte Liste (ul) der Klasse actions gepackt. Mithilfe von Firebug lässt sich der 1.6-Quelltext sehr gut nach neuen Klassen durchsuchen.
<ul class="actions">
<li class="print-icon">
<a href="/..."><img src="/..." alt="Print"></a>
</li>
<li class="email-icon">
<a href="/..."><img src="/..." alt="Email"></a>
</li>
</ul>
Die neuen Klassen werden in das Stylesheet aufgenommen.
.actions {
list-style: none;
...
}
.print-icon { ... }
.email-icon { ... }
error.php
In der Fehlerseite ändert sich die Ausgabe des Error-Codes und der Error-Nachricht.
Die Zeile
$this->error->code;
wird ersetzt durch
$this->error->getCode();
und die Zeile
$this->error->message;
durch
$this->error->getMessage();
template_preview.png
Neben dem kleinen Vorschaubild template_thumbnail.png ist es nun möglich, ein 800 x 600 Pixel großes Vorschaubild namens template_preview.png zu hinterlegen. Klickt man im Backend auf das kleine Bild, öffnet sich das große Bild in einer Lightbox. Das neue Bild gehört in das Stammverzeichnis des Templates (gleiche Ebene wie index.php) und sollte mit in die templateDetails.xml aufgenommen werden.
<filename>template_thumbnail.png</filename>
Sprachdateien
Neu in Joomla 1.6 ist, dass nun auch System-Sprachdateien eingebettet werden. Diese Dateien erlauben es dem Programmierer, den Namen und die Beschreibung der Erweiterung in der Sprache des Benutzers anzeigen zu lassen. Neben
de-DE.tpl_TEMPLATENAME.ini
gehört jetzt auch eine
de-DE.tpl_TEMPLATENAME.sys.ini
dazu. Wichtig ist das zusätzliche .sys im Namen. Alle Dateien können jetzt auch im gleichen Ordner des Template-Verzeichnisses landen, z. B. languages. Mit
<languages folder="languages">
<language tag="de-DE">de-DE.tpl_templatename.ini</language>
<language tag="de-DE">de-DE.tpl_templatename.sys.ini</language>
<language tag="en-GB">en-GB.tpl_templatename.ini</language>
<language tag="en-GB">en-GB.tpl_templatename.sys.ini</language>
</languages>
werden die Sprachdateien mit in die Datei templateDetails.xml aufgenommen.
Weitere gute Artikel zum Thema in englischer Sprache:
Kommentare (16)
Roland
Also bedeutet jede Änderung ein Eingriff in eine unbekannte Materie, sowas wie "Hier das Skalpell, operiere du mal". Mit dieser obigen Anweisung bringt man jeden Blinddarm ohne Probleme raus. Und der Patient fühlt sich dann wieder wie neu.
Roger
Coole Sache. Werde das gleich mal ausprobieren, sobald J! 1.6 RC1 da ist. Diese Anleitung macht auch Lust auf mehr... :)
Werde mir sicher das Buch besorgen. Gehört meiner Meinung zum Grundwissen einens jeden Joomla!ianers und 1.5>1.6 Umsteigers.
Liebe Grüsse aus dem Nachbarland
Roger
Achim
fein, grade das mit den languages ist ne feine Sache, schauen wir mal, wird interessant werden. Danke
HG Achim - cybergurk
Frank Schröder
Gruß Frank
newchurches
ausführlich, verständlich, lesenswert.
Gruß,
David
MariaM
Alexander Schmidt
Manuel
Hinnak
habe ich es doch gewußt, kaum kommt 1.6 raus hat Alexander schon das Buch draußen... wie genial !!
Habe das Vorgängerbuch schon gefressen und jetzt folgt das nächste.
Besten Dank Alexander!
Gruß Hinnak
Kurt
tolles Tutorial.
Ist schon ein Tutorial in Arbeit, welches beschriebt wie man Module, Plugins oder Komponenten anpassen kann?
Der Bruch von 1.5 zu 1.6 ist schon ziemlich heftig, da wäre Anleitung sehr hilfreich.
Christopher Dosin
ich werde mir die Tage auf jedenfall mal dein neues Buch kaufen. Scheint mir sehr vielversprechend zu sein :)
webwichtl
Kompliment!
Sieger66
(Hinweis von Bloggerschmidt: Der Originallink wurde zwecks besserer Aufrufbarkeit geändert)
Alexander Schmidt
Dan
Alexander Schmidt