Template 1.5.x aanpassen naar 2.5.x

Afdrukken PDF
Geschreven door Meta Kruijs op dinsdag 08 mei 2012 00:00, in: Templates (2.5)

Deze tips zijn afkomstig van Anja Hage van Web-effect.

Templates voor Joomla 1.5 zullen niet zonder aanpassing werken in Joomla versie 2.5. In deze tutorial vind je de veranderingen die voor de nieuwe versie nodig zijn en kun je vinden hoe je je template weer kunt laten werken, als je bent overgegaan naar de nieuwste versie van Joomla. 

Bij uitgebreide templates die je niet zelfgemaakt hebt, kun je beter wachten op de aanpassing van de maker. Dit artikel informeert je over de meest belangrijke wijzigingen.

Stap 1 Veranderingen in de index.php

In de template index.php moeten een paar regels code aangepast worden.

Maak een kopie van je index.php van je template voor Joomla 1.5. Sla de kopie op in een map waar je al je bestanden voor je aangepaste template voor versie 2.5 terug kunt vinden.

Open nu de nieuwe index.php in een html editor. Daarin zie je als eerste regel staan:

<?php defined( '_JEXEC' ) or die( 'Restricted access' ); ?>

Deze regel moet voor Joomla 2.5 aangepast worden naar:

<?php defined('_JEXEC') or die; ?>

Er is een nieuwe extra regel code voor het weergeven van de website naam en url in de Joomla 2.5 template. Voeg deze regel toe:

<?php $app = JFactory::getApplication(); ?>

De Joomla 1.5 template code voor het weergeven van de website naam is:

<?php echo $mainframe->getCfg( 'sitename' ); ?>

Deze code moet voor Joomla 2.5 aangepast worden naar:

<?php echo $app->getCfg('sitename'); ?>

De Joomla 1.5 template code voor het weergeven van de website url is:

<?php echo $mainframe->getCfg('live_site'); ?>

Deze code moet voor Joomla 2.5 aangepast worden naar:

<?php echo $app->getCfg('live_site'); ?>

Sla nu je index.php voor Joomla versie 2.5 weer op.

Stap 2 Nieuwe namen voor de module posities 

In de standaard Joomla 2.5 voorbeelddata bestaan geen standaard module posities meer zoals left, right, user1 etc. Dit is vooral een aanmoediging om in Joomla 2.5 templates meer logische module posities te gebruiken. Een nieuwe module zal ook niet meer automatisch aan module positie left toegewezen worden, maar zal er een keuze gemaakt moeten worden uit de moduleposities.

Voorbeeld Joomla 1.5:

<jdoc:include type="modules" name="left" style="xhtml" mce_style="xhtml"></jdoc:include>
<jdoc:include type="modules" name="user1" style="xhtml" mce_style="xhtml"></jdoc:include>
<jdoc:include type="modules" name="user2" style="xhtml" mce_style="xhtml"></jdoc:include>

Voorbeeld Joomla 2.5: 

<jdoc:include type="modules" name="navigation-left" style="xhtml">
<jdoc:include type="modules" name="sidebar-left" style="xhtml">
<jdoc:include type="modules" name="sidebar-left-bottom" style="xhtml">

Stap 3 Aanpassen van templateDetails.xml

In de Joomla templateDetails.xml moeten ook een aantal regels code aangepast worden. Kopieer weer uit je map van je oude template het benodigde bestand en geef het dezelfde naam templateDetails.xml. Sla de kopie op in de map waar je zojuist je index.php hebt opgeslagen. 

Open de gekopieerde templateDetails.xml in een html editor. Daarin zie je als eerste regel staan:

<? xml version="1.0" encoding="utf-8" ?>

Deze code blijft hetzelfde, maar daaronder komt een nieuwe extra regel code voor Joomla 2.5:

<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">

Daaronder staat de Joomla 1.5 code:

<install version="1.5" type="template">

Deze beginregel moet voor Joomla 2.5 aangepast worden naar:

<extension version="2.5" type="template" client="site">

Vergeet ook niet af te sluiten, in plaats van </install> gebruik je nu </extension> .

Stap 4 Aanpassen van de stylesheet css_template.css

We bevelen je aan je Joomla 1.5 stylesheet aan te vullen met wat extra code, om het te laten werken in Joomla 2.5. Met aanpassingen in je css is het mogelijk om je basis Joomla 1.5 template geschikt te maken voor Joomla 2.5.

Kopieer weer uit de map van je oude template het benodigde bestand en geef het dezelfde naam css_template.css. Sla de kopie op in de map waar je zojuist je index.php hebt opgeslagen. 

Print, pdf en e-mail buttons

Voor de print, pdf en e-mail buttons werd in Joomla 1.5 td class="buttonheading" gebruikt. Voor Joomla 2.5 wordt nu div class="actions" gebruikt met een unordered list. Voeg de volgende css code toe voor de uitlijning van de buttons in Joomla 2.5:

.actions {
margin:0;
}

.actions li {
list-style: none;
display:inline;
float:right;
}

Sectie- en categorieblog layout

Voor de weergave van de sectie- en categorieblog werd in Joomla 1.5 tabellen gebruikt, in Joomla 2.5 is dat veranderd en wordt XHTML (met div's) gebruikt. Je kunt de div's netjes op hun plaats zetten met float, margin en padding en width. 

Inlogformulier

De code van de module voor het inlogformulier is voor Joomla 2.5 aangepast, je hebt extra code nodig om het formulier netjes uit te lijnen.
Voor de specifieke aanpassingen heb je kennis nodig van CSS. Voor vragen kun je altijd terecht op het forum.

Stap 5 Parameters aanpassen in de templateDetails.xml

In Joomla 2.5 templates is het mogelijk om parameters te groeperen in diverse fieldsets. Dat is vooral handig voor templates met veel parameters.

Voorbeeld Joomla 1.5:

<params>
 <param name="templateLayout" type="list" default="layout1" label="Template Layout" description="Kies een template layout">
   <option value="layout1">layout1</option>
   <option value="layout2">layout2</option>
   <option value="layout3">layout3</option>
 </param>
</params>

Voor Joomla 2.5 ga je dat aanpassen:

<config>
 <fields name="params">
 <fieldset name="advanced">
 <field name="templateLayout" type="list" default="layout1" label="Template Layout" description="Kies een template layout">
 <option value="layout1">layout1</option>
 <option value="layout2">layout2</option>
 <option value="layout3">layout3</option>
 </field>
 </fieldset>
 </fields>
 </config>

Engelstalige uitleg: http://docs.joomla.org/Upgrading_a_Joomla_1.5_template_to_Joomla_1.6

<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">