CMS Joomla jeu d'enfant

Adapter les structures du CMS Joomla! : un jeu d’enfant

Écrit par , le
Responsable de l'intégration et du support client

Le système de gestion de contenu (CMS) Joomla! permet de facilement varier ses structures html en fonction des besoins. Malgré tout, la plupart des fonctions permettant d’optimiser au maximum son site sont des secrets bien gardés réservés aux habitués. Voici donc un petit guide pour personnaliser la structure html de ses interfaces. Celui-ci est basé sur le format standard des thèmes (par exemple, Protostar qui est installé par défaut avec Joomla!), et peut donc varier sur certains thèmes commerciaux qui utilisent leur propre structure.

Avant de commencer

Avant de commencer à modifier les fichiers du site, il faut comprendre comment Joomla! fonctionne. Le contenu principal de la page sera toujours un composant, que ce soit un article (com_content), un moteur de recherche (com_search) ou une extension personnalisée. Autour du composant sera affiché un ou plusieurs module, par exemple une navigation (mod_menu), une liste d’articles (mod_articles_news) ou même du html personnalisé (mod_custom). Comme avec les autres CMS, il faut éviter de modifier les fichiers sources, afin de pouvoir effectuer facilement les mises à jour. Les changements seront donc faits directement dans le thème, ou avec des fichiers supplémentaires.

Structure html globale

Le fichier index.php situé à la racine du thème contient la structure html commune à toutes les pages. C’est dans ce fichier que se trouve l’entête, le html entourant le composant et les principales positions de modules. Il est cependant possible d’y ajouter diverses conditions, afin de modifier les pages selon les modules qui y sont affichés mais aussi selon le composant (component), la vue (view) ou la mise en page (layout). Pour se familiariser avec le fichier index.php, le thème Protostar est un bon point de départ puisque ce dernier contient déjà une structure assez complète.

Substitution des vues (overrides)

Les substitutions sont une façon simple de changer le format de la vue d’un module, d’un composant ou même d’un élément comme la pagination, sans toucher aux fichiers sources de Joomla! (ce qui permet de pouvoir faire les mises à jour sans affecter ses modifications). Pour créer une substitution, il suffit de créer un fichier dans le dossier html du thème. Depuis la version 3 de Joomla!, les fichiers nécessaires se créent avec un seul clic dans l’administration des thèmes, via le sous-menu Créer des substitutions. Bien que celles-ci ne modifient que la vue des éléments, il est possible d’y changer complètement le contenu, en retirant ou inversant les éléments et même en y ajoutant du php supplémentaire ou des scripts.

Ajout d’une vue supplémentaire

L’ajout de vues additionnelles permet de varier l’affichage pour une seule page ou un seul module. Celles-ci peuvent être ajoutées dans le dossier html du thème, avec les substitutions, ou directement dans les composants et modules, avec les autres vues. Pour les composants, il faut ajouter la vue (en n’utilisant pas de caractère de soulignement –underscore– dans le nom du fichier) ainsi qu’un xml, afin de pouvoir appliquer cette vue via la gestion des menus. Pour un module, il faut ajouter la vue et l’appliquer via les paramètres avancés du module. Dans le cas des composants, l’url de la page sera modifié afin d’y ajouter la nouvelle vue, ce qui pourrait causer certains problèmes d’affichage lorsque les urls sont créés automatiquement (par exemple dans l’affichage d’un module ou les résultats d’une recherche). L’affichage par défaut sera alors appliqué.

Ajout de gabarit supplémentaire

Si vous êtes familiers avec l’utilisation des fenêtres modale, vous avez peut-être déjà ajouté &tmpl=component à la fin d’un url pour afficher une page épurée, contenant seulement le composant. Cette page utilise le fichier component.php présent à la racine du thème (si le fichier est absent, Joomla! utilisera son propre gabarit). Il est aussi possible d’ajouter d’autres gabarits en utilisant le même principe, simplement en ajoutant un fichier php à la racine du thème. Il n’est cependant pas possible d’appliquer ce thème via l’administration de Joomla!, il faudra donc manuellement ajouter &tmpl=nomdufichier à la fin de l’url, via par exemple un URL externe dans la gestion des menus. L’avantage d’utiliser un gabarit supplémentaire plutôt qu’un 2e thème est qu’aucun autre fichier est dupliqué, ce qui permet d’avoir des fichiers css communs mais surtout le même dossier html pour les substitutions, ce qui facilitera la gestion à long terme.

Bien que certaines de ces solutions demandent plusieurs manipulations ou un changement dans le comportement normal du CMS, celles-ci permettent de personnaliser entièrement un site web selon ses besoins. Il est alors possible de créer des sites complexes, sans modifier des fichiers sources du CMS et sans recourir à des extensions supplémentaires.

 

Références
Documentation Joomla!
(et quelques centaines de sites faits par HPJ)