Answers:
与Magento 1相比,关键是实现了伪后备机制。Magento 2的机制回退到可以找到父主题的次数。该系统与使用theme.xml
文件的Magento 1.9上引入的系统非常相似。
例如,当您有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
在Blank主题中有一个图像请求。
使用主题继承和查看文件后备规则,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
Magento 2中的后备逻辑与Magento 1完全不同,并且与主题继承功能相关联。
根据文件:
对于静态资产(CSS,JavaScript,字体和图像)以及其他主题文件,布局和模板,后备顺序略有不同。
您可以通过以下链接在文档中查看更多详细信息:https : //devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-inherit.html