Ajouter des paramètres à un template Joomla
CMS - Joomla
Samedi, 22 Janvier 2011 18:23

Comme promis, voici le troisième article sur la création de templates Joomla. Dans les épisodes précédents:

Cette fois, vous allez apprendre à apporter plus de flexibilité à votre template en y ajoutant des paramètres. Vous pourrez ainsi attribuer à un même template des styles différents selon le choix de l'utilisateur.

Trois étapes essentielles pour l'ajout de paramètres dans un template Joomla:

  • Ajouter une section <params> dans le fichier templateDetails.xml qui regroupe tous les paramètres du template.
  • Ajouter un fichier params.ini au template
  • Ajouter le code dans le fichier index.php qui permettra de récupérer les valeurs des paramètres.

Définir les paramètres dans le fichier templateDetails.xml

J'espère que vous avez encore votre template basic. Rien ne vaut un apprentissage par la pratique. Nous allons ajouter deux paramètres à notre template. Un paramètre pour le nom du site à afficher dans le header et un autre pour choisir la couleur du site.

Ajoutez ce code juste avant la ligne </install>:

<params>
      <param type="text" name="title" default="" description="Nom du site à afficher dans le header" label="Nom du site" />
      <param type="list" name="color" default="default" label="Couleur du site">
         <option value="default">Par défaut</option>
         <option value="red">Rouge</option>
         <option value="blue">Bleu</option>
         <option value="green">Vert</option>
      </param>
 </params>

Voici l'effet que produira ce code dans l'administration de notre template:

Chaque paramètre est déclaré grâce à la balise param. La balise param possède des attributs (type, text, name, default, description, label). Certains sont obligatoires et d'autres optionnels.

Les attributs obligatoires:

  • type: spécifie le type du paramètre (texte, liste, boutons radio...). Pour une liste exhaustive des paramètres, référez-vous à la documentation.
  • name: le nom du paramètre doit être unique. C'est en quelque sorte le nom de la variable associée au paramètre. Pour certains types de paramètres, il n'est pas obligatoire.

Les attributs optionnels:

  • default: la valeur par défaut du paramètre
  • description: le texte à afficher lorsque le curseur de la souris survole le champ dans l'administration
  • label: le titre du champ dans l'administration.

Il existe plusieurs autres attributs optionnels selon le type du paramètre.

Ajouter le fichier params.ini

Créez un fichier vide nommé params.ini. Et dans le fichier templateDetails.xml, ajoutez cette ligne dans la section files: <filename>params.ini</filename>

Je ne vous l'ai peut-être pas encore dit mais mieux tard que jamais. Enregistrez tous vos fichiers en UTF-8 (sans BOM) pour éviter les surprises désagréables liées aux caractères accentués.

Le fichier params.ini permet de stocker la valeur courante des paramètres. A chaque modification du template, le contenu du fichier change. Dans notre exemple, le contenu de ce fichier peut être:

title=Joomla!
color=default

Récupérer les valeurs des paramètres dans le fichier index.php

Pour récupérer la valeur d'un paramètre, suivez cet exemple:

<?php $myParam = $this->params->get( 'parameterName' ); ?>

Pour notre template basic, nous aurons donc dans le fichier index.php:

<?php
defined('_JEXEC') or die('Restricted access');
$title = $this->params->get('title');
$color = $this->params->get('color');
?>

Si le champ du paramètre title n'est pas vide, alors on affiche la valeur du paramètre.

<?php if (!empty($title)) : ?>
<h1><?php echo htmlspecialchars($title) ?></h1>
<?php endif; ?>

Pour la gestion des couleurs, ajoutons trois fichiers CSS à notre template: red.css, green.css et blue.css. N'oubliez pas de déclarer ces fichiers dans le fichier XML. Ces fichiers apporteront des styles différents à la couleur d'arrière-plan du header et du footer.

#top,#footer { background-color: red }

Si la valeur du paramètre est différente de default, on insère le fichier CSS correspond à cette valeur.

 

Vous savez maintenant ajouter des paramètres à vos templates Joomla mais il reste encore beaucoup à savoir sur la création des templates. Pour ne rien rater des articles à venir, je vous recommande de vous abonner à ma page Facebook. Vous pourrez ainsi bénéficier des dernières techniques de développement Web.

 

Mise à jour le Dimanche, 23 Janvier 2011 21:49
 

ismael.toe[at]gmail[dot]com

Page Facebook