La version 1.5 inaugure une nouvelle façon de coder les templates.
Bien que les anciens templates soient comptatibles avec Joomla! 1.5, il n’est pas certain que les futures évolutions conserveront cett compatibilité. Aussi nous 1) avons décidé de rédiger un dictionnaire de traduction 1.0.x vs 1.5.
Ce tutoriel est un en cours de rédaction. Sa mise en ligne est nécessaire pour cause de références croisées avec le tutoriel Concevoir son template. Il traite de l’encodage des positions de publication dans le fichier index.php d’un template. Vous ne trouverez donc que des informations à caractéres techniques et quelques autres renseignements pratiques.
Nous espérons que ce tutoriel soit pour vous un mémento de référence...
paragraphe honteusement piqué à Papounet sur Joomladraft.com
Dans sa version 1.0, Joomla! contrôle l’accès au fichier index.php du template par le code suivant :
Or, la variable _VALID_MOS n’est plus documentée, elle vous renvera donc un message d’erreur.
infograf768 m’a informé de ceci : Le string valid mos or die est remplacé par
il peut s’avérer indispensable pour des raisons de sécurité dans l’index.php du template lorsqu’un chemin est utilisé dans un template particulier.
Souvent la définition du code html est peu orthodoxe dans nombre de templates. Ainsi vous avez souvent le code suivant :
<html xmlns="http://www.w3.org/1999/xhtml">
Dans la 1.5, la volonté est mise de rendre le code le plus possible respectueux des recommendations du W3C. Aussi de nouveaux tag ont été développé afin de rendre les pages générés les plus « propres » possibles.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
Le nouveau codage simplifie grandement la liaison avec une feuille css. Ainsi au lieu de
<?php echo "<link rel=\"stylesheet\" href=\"$mosConfig_live_site/templates/$cur_template/css/template_css.css\" type=\"text/css\"/>" ; ?>
on a simplement
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
<?php mosShowHead(); ?>
<jdoc:include type="head" />
<?php mosMainBody(); ?>
<jdoc:include type="component" />
Ainsi on comprend que le MainBody est l’endroit où l’on publie les composants (et donc les articles).
<?php mosLoadComponent( "banners" ); ?>
<jdoc:include type="module" name="banner"/>
remarque : Attention il faut le singulier à banner
Je suppose que les membres de la core team considèrent que tu n’as qu’une seule bannière.
Voir les position des modules pour les différents types de modules autorisés.
<?php mosLoadModules ( 'user1' ); ?>
<jdoc:include type="modules" name="user1" />
les inclusions avec paramètre de style forcé :
<?php mosLoadModules ( 'user1',-2 ); ?>
<jdoc:include type="modules" name="user1" style="-2" />
Pour vous rappeller les différents styles de la 1.0.x, nous vous renvoyons à l’excellent tutoriel de Papounet..
Dans Joomla 1.5 on a eu une refonte du type des styles :
| paramètre style | rendu au niveau du code HTML | Commentaires |
|---|---|---|
| style = -1 | <ul class="mainmenu"> <li id="current" class="level1 item1 active current"><a href="#">lien 1</a></li> <li class="level1 item2"><a href="#">lien 2</a></li> </ul> | notez la classe “level1/2/3” qui permet de personnaliser l’affichage de chaque item du menu et l’id “current”. différence majeure avec la 1.0.x qui créait des tables. |
| style = 0 | identique au style par défaut de la 1.0.x ⇒ utilisation de tables | |
| style = -2 | <div class="moduletable_menu"> <h3>Main Menu</h3> <ul class="mainmenu"> <li id="current" class="level1 item1 active current"><a href="#"> lien 1 </a></li> <li class="level1 item2"><a href="#"> lien 2 </a></li> </ul> </div> | notez la classe “moduletable_menu” et le h3. On peut donc utiliser ce style pour afficher un fond au menu. |
| style = -3 | <div class="module_menu"> <div> <div> <div> <h3>Main Menu</h3> <ul class="mainmenu"> <li id="current" class="level1 item1 active current"><a href="#">lien 1</a></li> <li class="level1 item2"><a href="#">lien 2</a></li> </ul> </div> </div> </div> </div> | notez les 4 div imbriqués, ca permet de définir un style pour chaque angle et ainsi à vous les jolis bords arrondis comme dans le “Rulk_Milyway” |
<jdoc:include type="modules" name="breadcrumb" style="rounded" />
Note : the style attributes are using the proper correct namings, the numeric style names are only supported with legacy activated.
-3 = rounded
-2 = xhtml
-1 = raw (default)
0 = table
When no style is giving the system assumes a -1.
<php include_once('includes/footer.php'); ?>
<jdoc:include type="module" name="footer" style="-1"/>
Le pathway est la zone où l’on affiche la position dans l’arborescence du site. Il s’appelle breadcrumbs (miettes de pains : allusion au petit poucet ?) dans la 1.5.
<?php mosPathWay(); ?>
<jdoc:include type="module" name="breadcrumbs" style="-1" />