Modifier les fichiers de thème sous Joomla
mercredi 20 juin 2007, 13:43 Web Lien permanent
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) :
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 :
Commentaires
Bonjour Sébastien,
Les explications sont parfaitement claires et nettes. J'ai appliqué en modifiant le template dans Joomla et tout fonctionne parfaitement.
Merci beaucoup pour avoir pris le temps d'écrire ce billet pour répondre à ma question. C'est une délicate attention que j'apprécie. Bravo pour le travail effectué
Amicalement
Amar Guillen
juste un petit post pour préciser que dans beaucoup de templates commerciaux, le fichier "editer html" est une version recustomisée et allégée par le distributeur du template. Il est donc possible que mosShowHead();[ n'apparaisse pas dans ce fichier alors qu'il est pourtant bien activé au niveau du véritable fichier index.php !
Bonjour, l'article date un peu mais les explications étant clair j'espère que l'auteur utilise toujours joomla et qu'il trouvera le temps de répondre à ma question. J'arrive sans problème à créer un template en plaçant les balise html comme je le veux dans mon fichier index.php et en gérant les css via mon fichier css. Par contre j'aimerai modifier la structure HTML de certain module comme celui des "liens". Quel est la marche à suivre dans ce cas ? Merci d'avance !
Me revoila, simplement pour dire que la réponse à ma question semble se trouver sur cet article (en anglais) http://developer.joomla.org/tutoria...