Selon la spécification du thème magento 2 sur le traitement des fichiers de mise en page:
L'application Magento traite les fichiers de mise en page dans l'ordre suivant:
1 / Collecte tous les fichiers de mise en page des modules. L'ordre est déterminé par l'ordre des modules dans la liste des modules de app / etc / config.php.
2. / Détermine la séquence des thèmes hérités [, ...,]
3. / Itère la séquence des thèmes du dernier ancêtre au courant:
une. Ajoute tous les fichiers d'extension de disposition de thème à la liste.
b. Remplace les fichiers de présentation remplacés dans la liste.
4. / Fusionne tous les fichiers de mise en page de la liste.
Comment puis-je déboguer et afficher le fichier de mise en page pour chaque étape de ce processus?
magento2
layout
magento-2.0
debugging
thienphucvx
la source
la source
Réponses:
Enfin, je peux imprimer toute la mise en page xml chargée et savoir comment fonctionne la mise en page magento 2. Cela nous aide également à vérifier si notre disposition de module personnalisée est chargée ou non. L'idée est:
Nous écoutons un événement " layout_generate_blocks_after " et obtenons tout l'arborescence chargée à partir de ce point.
Enregistrez toute l'arborescence chargée dans un fichier xml.
1 / Nous créons un nouveau répertoire
Sample/Dev
. CréezSample/Dev/registration.php
pour déclarer avec Magento 2 sur notre répertoire de modules.2 / Créer
Sample/Dev/etc/module.xml
: pour informer Magento 2 de la version de configuration de notre module3 / Créer
Sample/Dev/etc/frontend/events.xml
. Dans ce fichier, nous écouterons l'événement «layout_generate_blocks_after»4 / Créez
Sample/Dev/Model/Layout.php
avec le contenu comme ci-dessous5 / Mettre en place un nouveau module. Dans le répertoire de votre site Web personnel. entrez la ligne de commande CMD:
- module php bin / magento: activez Sample_Dev
- Configuration php bin / magento: mise à niveau
6 / Actualisez la page que vous souhaitez voir le fichier xml (par exemple: votre page d'accueil) et archivez votre fichier xml de poignée
var/log/layout_block.xml
.la source