Logique de secours de conception de Magento2

15

Nous connaissons déjà la logique de secours de conception de Magento 1.x:

  1. Forfait actuel / Thème actuel
  2. Package actuel / Thème par défaut
  3. Package de base / Thème par défaut

Maintenant. Je veux savoir Quelle est la logique de secours de conception dans Magento 2.x pour les fichiers de thème, de mise en page et de modèle?

Veuillez décrire brièvement.

Amit Bera
la source

Réponses:

12

Le point est, par rapport à Magento 1, où un pseudo mécanisme de secours a été mis en œuvre. Magento 2 a un mécanisme qui revient autant de fois qu'un thème parent peut être trouvé . Le système est très similaire à celui introduit sur Magento 1.9 utilisant des theme.xmlfichiers.

Par exemple, lorsque vous avez 5 thèmes hérités les uns des autres, le mécanisme retombera sur chacun d'eux. Le package n'est plus pris en compte.

Voici un pseudo code qui peut décrire le nouveau mécanisme de conception:

do
    look in the current theme
    current theme will be parent theme on the next iteration
while the current theme has a parent theme

look in the view folder of the module area if the layout/template is not defined in the previous steps

À titre d'exemple de secours de fichier statique, supposons qu'il y ait une demande pour l' logo.svgimage dans le thème Vide.

En utilisant l'héritage des thèmes et les règles de secours des fichiers d'affichage, Magento utilise l'ordre de recherche suivant:

  1. app/design/frontend/Magento/blank/web/images/logo.svg
  2. app/design/frontend/Magento/blank/web/logo.svg
  3. app/design/frontend/Magento/parent_theme/web/images/logo.svg
  4. app/design/frontend/Magento/parent_theme/web/logo.svg

Référence: http://devdocs.magento.com/guides/v2.0/architecture/view/static-process.html

Raphael chez Digital Pianism
la source
nice share @ Raphel. Qu'en est-il de la mise en page et du modèle?
Amit Bera
@AmitBera J'ai modifié ma réponse car l'exemple fourni était un peu déroutant dans la première partie de ma réponse.
Raphael au Digital Pianism du
@RaphaelatDigitalPianism Le lien de référence fourni donne 404, il serait également formidable si vous pouvez inclure la conception de secours sur les modules.
Vivek Kumar
1

Logique de secours actuelle du thème:

  1. Current_theme/<Namespace>_<Module>/
  2. parent_theme(s)/<Namespace>_<Module>/
  3. module_dir/view/frontend/
  4. module_dir/view/base/

Ce modèle a également été utilisé pour la mise en page et le modèle.

Amit Bera
la source
0

La logique de secours de Magento 2 est complètement différente de Magento 1 et associée à la fonction d'héritage de thème.

Selon le document:

L'ordre de secours est légèrement différent pour les actifs statiques (CSS, JavaScript, polices et images) et d'autres fichiers de thème, mises en page et modèles.

Vous pouvez vérifier plus de détails dans le document via ce lien: https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-inherit.html

Mike Mo
la source