¿En qué orden se procesan los archivos de temas?
Pregunta
Tenga en cuenta que esta pregunta es sobre el aún por liberar Magento 2, con el que todavía estoy tratando de enfrentar.
Cada módulo contribuye a cada mango de diseño por separado. Por ejemplo, el default
El mango está compuesto por estos archivos:
app/code/Magento/Catalog/view/base/layout/default.xml
app/code/Magento/Bundle/view/frontend/layout/default.xml
app/code/Magento/CatalogSearch/view/frontend/layout/default.xml
app/code/Magento/Catalog/view/frontend/layout/default.xml
app/code/Magento/Checkout/view/frontend/layout/default.xml
app/code/Magento/Cms/view/frontend/layout/default.xml
app/code/Magento/Contact/view/frontend/layout/default.xml
app/code/Magento/Customer/view/frontend/layout/default.xml
app/code/Magento/Directory/view/frontend/layout/default.xml
app/code/Magento/GoogleAnalytics/view/frontend/layout/default.xml
app/code/Magento/Newsletter/view/frontend/layout/default.xml
app/code/Magento/PageCache/view/frontend/layout/default.xml
app/code/Magento/Reports/view/frontend/layout/default.xml
app/code/Magento/Rss/view/frontend/layout/default.xml
app/code/Magento/Sales/view/frontend/layout/default.xml
app/code/Magento/Theme/view/frontend/layout/default.xml
app/code/Magento/Weee/view/frontend/layout/default.xml
app/code/Magento/Widget/view/frontend/layout/default.xml
app/code/Magento/Wishlist/view/frontend/layout/default.xml
los base
Los archivos son primero seguidos de frontend
archivos, seguidos de varios temas. Me gustaría saber en qué orden frontend
son usados. pienso Magento/Theme/...
Debe ser lo primero porque muchos otros hacen referencias a sus bloques, ya sea agregando, moviéndose o eliminando.
Consideré que podrían estar siguiendo el orden de dependencia, pero eso no es adecuado porque hay muchas dependencias circulares. Por ejemplo, Magento_Customer
depende de Magento_Theme
Como era de esperar, pero Magento_Theme
también depende de Magento_Customer
. Si se sigue el orden incorrecto, entonces no se mostrarían bloques de clientes importantes.
Al establecer puntos de interrupción, he resuelto, los archivos no se cargan en ningún orden en particular, solo se arrojan a un DOM fusionado para ser tratado más adelante. Pero no puedo decir qué sucede con los datos fusionados después, ¿es algún tipo de magia?
No hay solución correcta