Согласно спецификации темы magento 2 об обработке файлов макетов:
Приложение Magento обрабатывает файлы макетов в следующем порядке:
1 / Собирает все файлы макетов из модулей. Порядок определяется порядком модулей в списке модулей из приложения / etc / config.php.
2. / Определяет последовательность унаследованных тем [, ...,]
3. / Перебирает последовательность тем от последнего предка до текущего:
а. Добавляет все расширяющие файлы макета темы в список.
б. Заменяет переопределенные файлы макета в списке.
4. / Объединяет все файлы макетов из списка.
Как я могу отладить и просмотреть файл макета для каждого шага этого процесса?
magento2
layout
magento-2.0
debugging
thienphucvx
источник
источник
Ответы:
Наконец, я могу распечатать все загруженные макеты XML и узнать, как работает макет magento 2. Это также помогает нам проверить, загружен ли наш пользовательский макет модуля или нет. Идея заключается в следующем:
Мы слушаем событие « layout_generate_blocks_after » и получаем все загруженное дерево с этой точки.
Сохраните все загруженное дерево в XML-файл.
1 / Создаем новый каталог
Sample/Dev
. Создайте,Sample/Dev/registration.php
чтобы объявить с Magento 2 о нашем каталоге модулей.2 / Создать
Sample/Dev/etc/module.xml
: сообщить Magento 2 о настройке версии нашего модуля.3 / Создать
Sample/Dev/etc/frontend/events.xml
. В этом файле мы будем слушать событие «layout_generate_blocks_after»4 / Создать
Sample/Dev/Model/Layout.php
с содержанием, как показано ниже5 / Установить новый модуль. В вашем домашнем каталоге сайта. введите командную строку CMD:
- модуль php bin / magento: включить Sample_Dev
- php bin / magento setup: обновить
6 / Обновите страницу, на которой вы хотите увидеть XML-файл (например, свою домашнюю страницу), и проверьте свой дескриптор XML-файла
var/log/layout_block.xml
.источник