Резервная логика проектирования Magento2
Мы уже знаем резервную логику проектирования из Magento 1.x:
- Текущий пакет / Текущая тема
- Текущий пакет / Тема по умолчанию
- Базовый пакет / Тема по умолчанию
Сейчас. я хочу знать, какова логика резервного копирования дизайна в Magento 2.x для файлов тем, макетов и шаблонов?
Пожалуйста, опишите вкратце.
3 answers
Дело в том, что по сравнению с Magento 1, где был реализован псевдо-резервный механизм. В Magento 2 есть механизм, который откатывается столько раз, сколько можно найти родительскую тему. Система очень похожа на ту, которая была представлена в Magento 1.9 с использованием файлов theme.xml
.
Например, если у вас есть 5 тем, наследуемых друг от друга, то механизм вернется к каждой из них. Пакет больше не принимается во внимание.
Вот псевдо код, который может описать новый механизм проектирования:
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
В качестве примера резервного копирования статического файла предположим, что в пустой теме есть запрос на изображение logo.svg
.
Используя наследование темы и резервные правила просмотра файлов, Magento использует следующий порядок поиска:
app/design/frontend/Magento/blank/web/images/logo.svg
app/design/frontend/Magento/blank/web/logo.svg
app/design/frontend/Magento/parent_theme/web/images/logo.svg
app/design/frontend/Magento/parent_theme/web/logo.svg
Ссылка: http://devdocs.magento.com/guides/v2.0/architecture/view/static-process.html
Текущая резервная логика темы:
Current_theme/<Namespace>_<Module>/
parent_theme(s)/<Namespace>_<Module>/
module_dir/view/frontend/
module_dir/view/base/
Этот шаблон также использовался для макета и шаблона.
Резервная логика в Magento 2 полностью отличается от Magento 1 и связана с функцией наследования темы.
Согласно документу:
Резервный порядок немного отличается для статических ресурсов (CSS, JavaScript, шрифты и изображения) и других файлов тем, макетов и шаблонов.
Вы можете проверить более подробную информацию в документе по этой ссылке: https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-inherit.html