Table des matières

Par quoi est remplacé l'ancien codage ?

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

Entete du fichier index.php

Contrôle d'accès au fichier index.php

Dans sa version 1.0, Joomla! contrôle l’accès au fichier index.php du template par le code suivant :

<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); ?>

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

<?php  defined( '_JEXEC') or die( 'Direct Access to this location is not allowed.' ); ?>

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.

Définition XHTML

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; ?>">

Liaison de la feuille de style

Le nouveau codage simplifie grandement la liaison avec une feuille css. Ainsi au lieu de

$GLOBALS[mosConfig_live_site] ou $mosConfig_live_site
$GLOBALS[cur_template] ou $cur_template

utilisé comme ici

<?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" /> 

Appel de l'entête

<?php mosShowHead(); ?>

<jdoc:include type="head" />

Le Main Body

<?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).

Bannière

<?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.

Les Modules

Voir les position des modules pour les différents types de modules autorisés.

<?php mosLoadModules ( 'user1' ); ?>

<jdoc:include type="modules" name="user1"  />

Quand on ne transmet pas de parametre “style” on a par défaut le style = 1.
Il faut noter une différence de traitment entre Joomla 1.0.x et 1.5. lire le paragraphe suivant.

les inclusions avec paramètre de style forcé :

<?php mosLoadModules ( 'user1',-2 ); ?>

<jdoc:include type="modules" name="user1" style="-2" />

Les différents de types de styles

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”

Nous supposons que le code d’affichage des menus de la 1.5 ne se préoccupe que des menus de type -2 et -3, tout autre paramètre est interprété comme étant un style 1. Ca nous a été confirmé par Johan

   <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.

Le Footer

<php include_once('includes/footer.php'); ?>

<jdoc:include type="module" name="footer" style="-1"/>

Pensez à le publier (c’est un module) sur toutes les pages sinon il n’est pas affiché par défaut. (il réagit aussi aux différents types de styles.)

Le Pathway - Chemin de visite

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" />

1) idée originale de félichon, pomelo, papounet et opware2000 du forum Joomla.fr
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki