Hiérarchie des interfaces/thèmes et fallback
Structure d'un thème
Décomposition du thème de base
Le thème de base utilisé par Magento est le thème base/default.
Ce thème est décomposé en 2 dossiers :
app/design/frontend/base/default/skin/frontend/base/default/
Interface / Thème & Layout / Template
basereprésente l'interfacedefaultreprésente le thème
Une interface contient plusieurs thèmes : celui par défaut, Noël, les soldes etc.
Chaque thème contient un dossier layout et un dossier template contenant toute la structure de notre thème.
Fallback
Dérive de notre thème
À la création d'un thème, nous ne partons en général pas d'une page blanche, mais du thème default/default pour les versions de Magento inférieures à la 1.9 et du thème rwd/default pour les versions 1.9+.
Cependant, il n'est pas conseillé de modifier le thème default/default. La bonne pratique est de créer son propre thème.
Il n'est pas nécessaire de copier/coller tous les fichiers du thème default/default dans notre theme, grâce au système de fallback de Magento.
Le fallback de Magento en résumé
Si un fichier n'est pas présent dans notre thème, Magento ira le chercher ailleurs dans :
notre_interface/notre_themenotre_interface/defaultinterface_parent/theme_parent(sur Magento 1.9+ seulement)base/defaultCe comportement permet de modifier uniquement les fichiers nécessaires.
Modification des thèmes de base de Magento
base/default ! Si vous mettez à jour Magento, les fichiers seront écrasés et vous perdrez toutes vos modifications.
De plus, vous ne saurez pas quels fichiers ont été modifiés.
TP : Modifier le header
Plan du TP
Objectif : Afficher un texte dans le header
- Création d'un thème :
- Création des dossiers
app/design/frontend/formation/defaultetskin/frontend/formation/default- Modifier dans l'administration notre thème :
Système > Configuration > Design- Dans un premier temps, activer le debuggeur pour savoir où se situe le fichier du header
- Copier/coller ce fichier dans notre thème et le modifier. Notre thème pourtant presque vide affiche l'intégralité du site.
Ajout de fichiers dans base/default
Pourquoi est-ce une bonne pratique de déposer les modules externes (community + local) dans
base/default?
Les thèmes personnalisés depuis le back-office
base/defaultinterface/defaultinterface/theme
Formation Magento Developpeur
Magento 1.X