Modifier les fichiers de thème sous Joomla

Suite à une question d'Amar concernant l'article Gérer les balises Meta avec Joomla et Spip, voici quelques petites précisions quant à la modification des fichiers de thème sous Joomla.

Sous Joomla, le thème de présentation du site se trouve dans le répertoire "templates". Vous y retrouvez un ou plusieurs répertoires, chacun contenant un thème de présentation distinct.

Pour voir si ces thèmes sont correctement installés, vous pouvez les retrouver dans le panel administration. Pour cela, il faut suivre le menu Site > Gestion des templates > Templates du site . Vous obtenez alors une page qui ressemble à celle-ci (si vous trouvez l'image trop petite, cliquez dessus pour l'agrandir) :

Template Joomla

Le tableau central vous permet de vérifier quel est le thème utilisé (cercle rouge 1).

Le plus souvent, les thèmes sont constitués d'un fichier contenant la structure standard de la page (généralement appelé index.php) et d'un fichier CSS gérant le design de la page (généralement appelé template_css.css). Si vous souhaitez les modifier, deux possibilités s'offrent à vous :

  • le faire directement par le panel d'administration, il faut alors choisir le thème à éditer (cercle rouge 2) et cliquer sur le lien "éditer HTML" (cercle rouge 3)[1]. Vous tombez alors sur une fenêtre reprenant l'ensemble du code mi-html mi-php du fichier index.php. Si vous n'y connaissez rien, ne tentez pas le diable : tout changement sera directement enregistré sur le serveur de votre site internet et aussitôt répercuté sur vos pages.
  • le faire sur votre disque dur et transmettre les modifications par FTP vers votre hébergement. Les fichiers à modifier se trouvent dans le répertoire Templates > Nom_du_theme pour le fichier index.php et Templates > Nom_du_theme > CSS pour le fichier template_css.css

Personnellement je préfère la deuxième solution, elle permet de créer une version de sauvegarde bien utile en cas de boulette.

Pour un site standard, vous devriez retrouver au moins trois (ou quatre) fonctions spécifiques dans le fichier index.php :

  • mosShowHead();[2] permet d'afficher les différentes balises meta et d'autres choses bien utiles comme le titre de la page et ce genre de chose (ce qui constitue la réponse qu'Amar attend),
  • mosMainBody(); affiche le contenu dynamique de votre page : contenu de l'article ou liste des articles...
  • mosLoadModules('left'); met en place les menus permettant la navigation dans votre site,
  • et éventuellement mosPathWay(); si vous voulez mettre en place un fil d'ariane.

Sachant cela, il ne vous reste plus qu'à expérimenter pour confectionner votre propre thème, le plus simple étant de commencer par regarder comment fonctonne le thème Cleanblue (qui est toujours inclus dans les récentes distributions de Joomla).

D'autres infos sur Joomla :

Notes

[1] Pour modifier le fichier CSS, il suffit de cliquer sur "éditer CSS" plutôt que d'utiliser "éditer HTML".

[2] qui doit être placé entre les balises <head> et </head>.