Websites and stores
Un website est une collection de stores qui elles-mêmes sont des collections de store views. L’articulation entre ces différentes entités se fait du général au particulier dans l’ordre suivant :
- Website
- Store
- Store view
Website
Un website est fait d’un ou plusieurs stores qui partagent les mêmes informations sur les clients, les commandes et le panier.
Stores
Le store est une collection de store views. Leur fonction principale est de fournir un container logique qui permet de regrouper les stores views correllées au sein d’un website.
Store views
Les instances de store (boutiques) dans Magento. La plupart des stores n’auront qu’une seule store view, mais la possibilité est laissée d’en affecter plusieurs (typiquement pour des projets multilingues).
Dans ce cas, vous pourriez créer un store unique et autant de store views que de langues voulues pour ce store.
Design packages and themes
- Design packages
- Themes
Design package
Une collection de thèmes en corrélation. Une instance de Magento peut en accueillir une multitude, mais un au moins doit être installé.
A l’installation, Magento est accompagné d’un package spécial nommé base
. Un autre package sera également présent en fonction de l’édition de Magento que vous avez déployé :
- Un package
default
dans l’édition CE - Un package
pro
dans l’édition PE - Un package
enterprise
dans l’édition EE
A ces packages de base peuvent s’ajouter vos propres packages (custom design packages).
Theme
Au sein d’un design package se trouvent les fichiers qui déterminent l’aspect graphique et les fonctionnalités front-end d’une boutique. Un thème Magento contient les éléments suivants :
- Templating information : fichiers CSS, images, et fichiers JavaScript spécifiques au thème,
- Skinning information : fichiers layout, fichiers template et locales spécifiques au thème.
Un thème donné ne peut appartenir qu’à un seul design package. Pas convention, chaque design package doit contenir un thème default
. En plus de ça, un design package peut contenir une multitude de variations de ce thème default
appellées non-default themes ou theme variant.
Structure d’un thème :
Fichiers de templating
Les fichiers de templating, qui définissent les contenus affichés dans les templates des différentes pages, se trouvent dans le répertoire app/design/frontend/<designPackageName>/<themeName>/
et sont organisés en sous-répertoires comme suit :
-
Layout
Contient les fichiers XML qui définissent la structure des blocs dans les différentes pages, ainsi que les informations renseignées dans les balises
meta
et l’encodage de la page. -
Template
Contient les fichiers PTHML qui embarquent le markup HTML et le code PHP nécessaires à l’affichage de contenus bruts dans les pages.
Il y a 2 types de templates : les templates de page et les templates de bloc. -
Locale
Contient des fichiers CSV, organisés par langue, qui embarquent des chaînes de translation pour l’ensemble des textes produits par Magento (éléments d’interface et messages, mais pas produits et catégories).
Fichiers d’habillage
Les fichiers d’habillage (skin), qui définissent l’habillage visuel des contenus, se trouvent dans le répertoire skin/frontend/<designPackageName>/<themeName>/
et sont organisés en sous-répertoires comme suit :
-
CSS
Contient les feuilles de style.
-
Images
Contient l’ensemble de simages utilisées par le thème.
-
JS
Contient le code javaScript spécifique au thème. La plupart des librairies JavaScript embarquées nativement se trouvent dans un répertoire
js
à la racine du projet Magento.
Fallback hierarchy
Du particulier au général :
- Pour exécuter le rendu front, Magento cherche en premier lieu les fichiers dans
package_name/theme_name/
(au plus profond de la hiérarchie des thèmes) - Si il n’a rien trouvé, il remonte d’un cran dans la hiérarchie des thèmes (dans l’arborescence) et cherche les fichiers dans
package_name/default/
- Si il n’a toujours rien trouvé, il remonte encore d’un cran dans la hiérarchie des thèmes et cherche les fichiers dans
base/default/