On trouve beaucoup de templates disponibles pour Joomla! 1.5, et aujourd'hui avec la version 1.6 de Joomla! on aimerait bien pouvoir en récupérer quelques uns pour les injecter dans son nouveau site. Hé bien c'est possible, avec quelques modifications pas très compliquées.
Librairie mootools
Tout au début du fichier 'index.php' on peut trouver l'appel à la librairie javascript Mootools. Dans ce cas il faut le mettre à jour.
Joomla! 1.5
JHTML::_('behavior.mootools');
Joomla! 1.6
JHTML::_('behavior.framework', true);
Fichier d'installation
Le plus gros des modifications se fait dans le fichier 'templateDetails.xml'. Il faut remplacer les balises d'installation, les paramètres et les appels aux fichier de langue.
Joomla! 1.5
Balises d'installation
<install version="1.5" type="template"> ... contenu du fichier ... </install>
DOCTYPE
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-install.dtd">
Joomla! 1.6
Balises d'installation
<extension version="1.6" type="template" client="site"> ... contenu du fichier ... </extension>
DOCTYPE
<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">
Fichiers de langue
Les fichiers de langue permettent de traduire des termes insérés dans votre template dans plusieurs langues. Avec Joomla! 1.6 il y a quelques modifications, il faut créer une architecture de dossiers et fichiers spécifiques, ajouter un fichier .sys.ini qui sert à traduire les termes lors de la phase d'installation, et modifier les fichiers .ini en ajoutant des guillemets doubles aux termes traduits.
Dans le fichier 'templateDetails.xml' il faut modifier l'appel aux fichiers.
Joomla! 1.5
<languages> <language tag="en-GB">en-GB.tpl_MONTEMPLATE.ini</language> </languages>
Joomla! 1.6
<languages folder="language"> <language tag="en-GB">en-GB/en-GB.tpl_MONTEMPLATE.ini</language> <language tag="en-GB">en-GB/en-GB.tpl_MONTEMPLATE.sys.ini</language> </languages>
Au niveau de la structure de fichiers, dans Joomla! 1.6 il faut créer des répertoires spécifiques pour les fichiers de langue, par exemple pour l'anglais avec le tag 'en-GB' :
[NOMDUTEMPLATE]
|- language
|- en-GB
|- en-GB.tpl_NOMDUTEMPLATE.ini
|- en-GB.tpl_NOMDUTEMPLATE.sys.ini
Dans les fichiers .ini il faut également modifier la manière dont on écrit les traductions, mais aussi l'entête du fichier. Il faut remplacer les /* par des ;
Joomla! 1.5
/* * * @copyright Copyright (C) 2011 Cédric KEIFLIN alias ced1870 * http://www.ck-web-creation-alsace.com * http://www.joomlack.fr * @license GNU/GPL * */
Joomla! 1.6
; @copyright Copyright (C) 2011 Cédric KEIFLIN alias ced1870 ; http://www.ck-web-creation-alsace.com ; http://www.joomlack.fr ; @license GNU/GPL ; Double quotes in the values have to be formatted as "_QQ_"
Ensuite pour traduire les termes il faut les mettre entre guillemets double ".
Si on veut traduire des termes en utilisant des guillemets double, par exemple pour insérer du code html, il faut remplacer les " par "_QQ_".
Joomla! 1.5
TERME_A_TRADUIRE = <p style ="background:#efefef;">Mon texte traduit ici</p>
Joomla! 1.6
TERME_A_TRADUIRE = "<p style ="_QQ_"background:#efefef;"_QQ_">Mon texte traduit ici</p>"
Paramètres
Un autre changement qui intervient dans le fichier XML se trouve au niveau des paramètres. Les balises changent et certains nouveaux paramètres voient le jour.
Retrouvez la liste des paramètres sur le wiki :
http://docs.joomla.org/Template_parameters#Standard_parameter_types_in_detail
Joomla! 1.5
<params> <param name=... paramètres spécifiques voir liste... /> ... </params>
Joomla! 1.6
<config> <fields name="params"> <fieldset name="advanced"> <field name=... paramètres spécifiques voir liste... /> ... </fieldset> </fields> </config>
Attention il y a un paramètre qui a changé, c'est celui qui permet de générer la liste des menus :
Joomla! 1.5
<param name="menutype" type="mos_menu" default="mainmenu" label="" description="" />
Joomla! 1.6
<field name="menutype" type="menu" default="mainmenu" label="" description="" />
Si votre template contient un dossier nommé 'html' c'est qu'il utilise des techniques de template override. Dans ce cas je vous conseille vivement de supprimer ce dossier pour votre première mise en ligne et de mettre à jour les fichiers qu'il contient en accord avec la nouvelle version de Joomla! 1.6. Il faut récupérer les fichiers 1.6 de tous les composants qui sont overridés dans ce dossier et les modifier ensuite.