Magento2设计后备逻辑


15

我们已经知道Magento 1.x的设计后备逻辑:

  1. 当前包/当前主题
  2. 当前包/默认主题
  3. 基本包/默认主题

现在。我想知道Magento 2.x中针对主题,布局和模板文件的设计后备逻辑是什么?

请简要描述。

Answers:


12

与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使用以下搜索顺序:

  1. app/design/frontend/Magento/blank/web/images/logo.svg
  2. app/design/frontend/Magento/blank/web/logo.svg
  3. app/design/frontend/Magento/parent_theme/web/images/logo.svg
  4. app/design/frontend/Magento/parent_theme/web/logo.svg

参考:http : //devdocs.magento.com/guides/v2.0/architecture/view/static-process.html


不错的分享@Raphel,布局和模板呢?
阿米特贝拉

@AmitBera我已经编辑了答案,因为提供的示例在答案的第一部分有点令人困惑。
拉斐尔(Raphael)在Digital Pianism上2016年

@RaphaelatDigitalPianism提供的参考链接提供404,如果您可以在模块上包括设计后备,那也将非常有用。
Vivek Kumar

1

当前主题的后备逻辑:

  1. Current_theme/<Namespace>_<Module>/
  2. parent_theme(s)/<Namespace>_<Module>/
  3. module_dir/view/frontend/
  4. module_dir/view/base/

此模式也用于布局和模板。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.