--- title: "Les Overrides/Surcharges de Layout" format: html theme: darkly number-sections: true include-in-header: - text: | - text: --- **Utilisez la puissance et la souplesse de Joomla!** Christian Bardin | JoomlaDay 2018 à Paris | #jd18fr [greendog.fr](http://www.greendog.fr) | [Gr33n_Dog](https://twitter.com/Gr33n_Dog)  Remerciements : Marc Dechèvre / Woluweb ## Objectif L'objectif de ce tutoriel est de personnaliser très facilement un module natif de Joomla afin d'obtenir ceci http://www.greendog.fr/override-joomladay-2018 ... juste avec le noyau de Joomla et donc sans aucune extension ! ## Création du module en administration Dans cet exemple, on va utiliser le module **Derniers Articles (Latest Articles)** qui permet de réaliser des choses intéressantes et qui correspondent à un besoin sur beaucoup de sites.  ## Rendu du module par défaut Par défaut, le module a un rendu très simple : on a une simple liste des X articles souhaités, avec un hyperlien sur le titre. NB : le template installé (Helix3 dans cet exemple) utilise Bootstrap3, dont on utilisera les classes. Mais cela peut bien sûr être transposé... Code correspondant : ```php
```  ## Création de la substitution * Aller dans Extensions > Templates > Templates * Cliquer sur le template utilisé * Cliquer sur l'onglet Créer des substitutions (Create Overrides) * Cliquer sur mod_articles_latest et la substitution s'est créée  ## Message de succès de la création du nouveau layout La Substitution a été créée. * On la retrouve ensuite sur l'onglet Editeur > html > mod_articles_latest * si un fichier default.php existe déjà, Joomla ajoutera automatiquement l'horodatage au nom du fichier afin de ne jamais risquer d'écraser une substitution précédente * On peut cliquer sur le nom du fichier créé et cliquer sur le bouton Renommer le fichier  ## Affichage avec print_r * print_r est une commande qui permet d'afficher tout ce qui est disponible sur un objet * on va donc dans le fichier de substitution mettre le code suivant afin de voir ce qui est à notre disposition Code ```phpintrotext; ?>
introtext, 200, false, false) ; ?>