Joomla! 1.5 Template in ein Template für 1.6 umwandeln

joomla-1.5-joomla-1.6Seit einigen Monaten nun ist die neue Version von Joomla! - 1.6 - verfügbar. Diese verfügt aber zahlreiche neue Funktionen und wurde stark optimiert. Mehr Informationen hierzu findet Ihr in einem anderen Eintrag von mir: Joomla! 1.6 - Neuigkeiten

Möchte man nun ein Template, dass eigentlich für Joomla! 1.5 geschrieben wurde, auch in der neuen Version 1.6 verwenden, dann muss man hier ein paar Dinge ändern, damit dieses wieder funktioniert. Jedoch reichen oft schon wenige Handgriffe für ein Upgrade.

 


Änderungen des Joomla! 1.5 Templates für Joomla! 1.6

Die Datei index.php

Diese muss eigentlich kaum geändert werden. Die Definitionen der Modulpositionen bleibt gleich.

<jdoc:include type="head" />
<jdoc:include type="modules" name="left" style="xhtml" />
<jdoc:include type="component" />
etc.

Diese sind in Joomla! 1.6 gleich zu verwenden

{googleAds}
<script type="text/javascript"><!--
google_ad_client = "ca-pub-2717861494506240";
/* Links - content */
google_ad_slot = "6814663901";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
{/googleAds}

Die CSS-Datei

Hier muss in den meisten Fällen auch nicht viel geändert werden. Da jeder seinen eigenen Stil hat, was das schreiben einer CSS-Datei angeht, kann man hier nicht genau sagen, was alles zu ändern wäre. Da sich aber auch die index.php Datei nicht ändert - ist auch in dieser Datei oft keine Änderung notwendig.
Sollte jedoch in der Datei viel auf spezielle Klassen der Joomla! 1.5 Installation eingegangen worden sein, dann muss  man diese anpassen. Am einfachsten ist es, man lädt dann dieses Template in Joomla! 1.6 und schaut sich die Frontpage an. Jene Dinge die nicht mehr richtig dargestellt werden, müssen dann eben angepasst werden (neue Klassen vergeben bzw. Tags ändern).
Für die Analyse des Webseiten Codes eignet isch übrigens das Firefox Addon Firebug gut. Diess kann ich nur empfehlen.

Die templateDetails.xml

In dieser Datei gibt es nun wirklich etwas zu ändern.
So schaute die Datei in Joomla! 1.5 aus:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://dev.joomla.org/xml/1.5/template-install.dtd">
<install version="1.5" type="template">
<name>meintemplate</name>
<creationDate>17 03 2011</creationDate>
<author>Max Mustermann</author>
<authorEmail> Diese E-Mail-Adresse ist gegen Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann. </authorEmail>
<authorUrl>http://www.l-design.at</authorUrl>
<copyright>Max Mustermann Company</copyright>
<license>privat</license>
<version>1.0.0</version>
<description>Template zum Testen</description>
<files>
    <filename>index.php</filename>
    ...
</files>
<positions>
    <position>left</position>
    ...
</positions>
</install>

Die neue templateDetails.xml muss dann so aussehen:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">
<extension
     version="1.6"
    type="template"
    client="site">
    <name>meintemplate</name>
    <creationDate>17 03 2011</creationDate>
    <author>Max Mustermann</author>
    <authorEmail> Diese E-Mail-Adresse ist gegen Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann. </authorEmail>
    <authorUrl>http://www.l-design.at</authorUrl>
    <copyright>Max Mustermann Company</copyright>
    <license>privat</license>
    <version>1.0.0</version>
    <description>Template zum Testen</description>
    <files>
        <folder>css</folder>
        <folder>images</folder>
        <filename>index.php</filename>
        <filename>favicon.ico</filename>
        <filename>templateDetails.xml</filename>
    </files>
     <positions>
         <position>left</position>
         ...
    </positions>
</extension>

{googleAds}
<script type="text/javascript"><!--
google_ad_client = "ca-pub-2717861494506240";
/* Links - content */
google_ad_slot = "6814663901";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
{/googleAds}

Geändert hat sich also nur der obere Bereich bis zu <files>. Jetzt wird mit <extension> und dort werden alle Attribute wie version, type und client definiert. Anschließend kommen wieder die Elemente wie in der alten Datei. Am Ende der Datei wird diese mit </extension> geschlossen.
Neu ist auch, dass man nun in <files> auch Ordner angeben kann - das hat den Vorteil, dass man die Bilder in den Ordnern nicht mehr extra anführen muss. Dies passiert mit dem Tag <folder>Ordnername</folder>.

Was passiert mit Parametern in der templateDetails.xml?

Enthält die templateDetails.xml auch Parameter, dann müssen auch diese angepasst werden.

Früher wurden Parameter folgendermaßen angegeben:

<params>
     <param name="textlogo" type="text" size="50" default="My Community" label="Text Logo" description="Text Logo" />
     <param name="subtitle" type="text" size="50" default="community portal friendly template" label="Sub Title" description="Sub Title" />
     <param name="varWidth" type="radio" default="0" label="Variable or Fixed Width Layout" description="Variable or Fixed Width Layout">
         <option value="1">Variable</option>
         <option value="0">Fixed</option>
     </param>
</params>

Jetzt muss das so definiert werden:

<config>
     <fields name="params">
        <field name="textlogo" type="text" size="50" default="My Community" label="Text Logo" description="Text Logo" />
        <field name="subtitle" type="text" size="50" default="community portal friendly template" label="Sub Title" description="Sub Title" />
        <fieldset name="varWidth" type="radio" default="0" label="Variable or Fixed Width Layout" description="Variable or Fixed Width Layout">
            <option value="1">Variable</option>
            <option value="0">Fixed</option>
        </fieldset>
    </fields>
</config>

Also muss als erstes mal ein <config> Tag voran gestellt werden, damit Joomla! weiss, jetzt kommen Template-Konfigurationen. Anschließend kommt das <fields name="params"> - damit teilt man Joomla! nun mit, dass nun  Felder für Parameter definiert werden. Beide Tags müssen am Ende geschlossen werden (</fields> </config>)

Der Rest ist dann wieder fast gleich wie früher, nur dass man param mit field tauscht. Und bei Parameter mit Optionen nimmt man statt <param ...> -> <fieldset ..>.

Ich hoffe das war verständlich. Aber ich glaube, wenn man sich die zwei Beispiele ansieht, ist das doch recht selbsterklärend.

Anschließend packt man das ganze wieder in eine ZIP-Datei und installiert es in Joomla! 1.6.
Dann noch schnell testen und den einen oder anderen Darstellungsfehler beheben - dann sollte es dass gewesen sein.