Zgodnie ze specyfikacją motywu magento 2 dotyczącą przetwarzania plików układu:
Aplikacja Magento przetwarza pliki układów w następującej kolejności:
1 / Zbiera wszystkie pliki układu z modułów. Kolejność zależy od kolejności modułów na liście modułów z aplikacji / etc / config.php.
2. / Określa sekwencję dziedziczonych motywów [, ...,]
3. / Iteruje sekwencję tematów od ostatniego przodka do bieżącego:
za. Dodaje wszystkie rozszerzające się pliki układu motywu do listy.
b. Zastępuje zastąpione pliki układu na liście.
4. / Scala wszystkie pliki układu z listy.
Jak mogę debugować i wyświetlać plik układu na każdym etapie tego procesu?
magento2
layout
magento-2.0
debugging
Thienphucvx
źródło
źródło
Odpowiedzi:
Wreszcie mogę wydrukować cały załadowany układ XML i wiedzieć, jak działa układ Magento 2. Pomaga nam również sprawdzić, czy nasz niestandardowy układ modułu jest załadowany, czy nie. Chodzi o to:
Słuchamy zdarzenia „ layout_generate_blocks_after ” i od tego momentu uzyskujemy całe załadowane drzewo.
Zapisz wszystkie załadowane drzewo w pliku xml.
1 / Tworzymy nowy katalog
Sample/Dev
. Utwórz,Sample/Dev/registration.php
aby zadeklarować za pomocą Magento 2 o naszym katalogu modułów.2 / Utwórz
Sample/Dev/etc/module.xml
: Aby poinformować Magento 2 o wersji instalacyjnej naszego modułu3 / Utwórz
Sample/Dev/etc/frontend/events.xml
. W tym pliku odsłuchamy wydarzenie „układ_generacji_bloków po”4 / Utwórz
Sample/Dev/Model/Layout.php
z treścią jak poniżej5 / Skonfiguruj nowy moduł. W katalogu domowej witryny. wprowadź wiersz poleceń CMD:
- moduł php bin / magento: włącz Sample_Dev
- Konfiguracja php bin / magento: aktualizacja
6 / Odśwież stronę, na której chcesz zobaczyć plik xml (na przykład: twoją stronę główną) i sprawdź w pliku XML uchwyt
var/log/layout_block.xml
.źródło