Dernière mise à jour : 17/02/2023 à 06h20
Table des matières
La parentalité
Modifier un thème vous expose à perdre ces modifications à chaque mise à jour du thème lorsque l'auteur la diffuse. Il est donc préférable de faire une copie du thème et de modifier cette copie, mais dans ce cas, la copie ne serait pas mise à jour si le thème d'origine est mis à jour.
La notion de parentalité a donc été introduite en version 6.
Cette notion permet de créer un nouveau thème, le thème enfant, rattaché à un autre thème, le thème parent.
Dans le principe, le système de templates va regarder quels fichiers utiliser en commençant par le thème enfant, puis le thème parent puis le dossier __default__ ou les modules.
Il n'est donc pas nécessaire de porter les fichiers tpl/css/js du thème parent dans le thème enfant, à moins qu'on veuille les modifier dans le thème enfant.
Les fichiers minimum requis
Il faut tout d'abord s'assurer que le thème qui sera le thème parent est bien installé sur le site.
On commence par créer les fichiers de base de la structure d'un thème
On ajoute la fonction parent_theme dans le config.ini du thème enfant
parent_theme = "nom_du_dossier_du_theme_parent"
On remplace le @import.css du thème enfant par une copie du thème parent
- templates
- +Nom_Du_Theme
- ++lang
- +++french
- ++++desc.ini
- ++theme
- +++@import.css
- +++images
- ++++theme.webp
- ++config.ini
Ainsi chaque mise à jour du thème parent sera appliquée au thème enfant sans que les modifications apportées au thème enfant ne soient impactées.
Bien sur, si un fichier du thème parent est porté dans le thème enfant, il ne sera pas mis à jour.