> Magento2中文手册 > 主题的继承

主题的继承

这篇文章讲什么?

主题的继承使您轻松扩展主题和减少维护工作。你可以使用现有的自定义主题为基础,或小商店的设计更新,这样的节日装饰。而不是复制广泛的主题文件和修改您想要更改的,您可以添加覆盖和扩展文件。

对主题的继承级别不限。

主题的继承基于回退机制,这保证了如果一个视图文件不在当前的主题,在祖先的主题系统搜索,查看文件或库模块。

回退顺序与静态资产(CSSjavascript、字体和图像)和其他主题文件、布局和模板略有不同。文章描述了每个主题文件的回退,并提供了如何重写祖先主题和模块设计的概述。

设置父主题

在子主题中指定父主题 theme.xml 文件声明.

例子: Orange 主题继承OrangeCo主题,OrangeCo主题继承Magento Blank主题。在 app/design/frontend/OrangeCo/orange/theme.xml 文件中代码如下:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
     <title>Orange</title>
     <parent>Magento/blank</parent>
     <media>
         <preview_image>media/preview.jpg</preview_image>
     </media>
 </theme>

父主题和子主题可以属于不同的主题目录。例如,您的自定义主题可以从Magento空白主题继承。

重写view.xml文件

如果您的主题不包含 view.xml 配置文件, 它将从父主题继承。 如你你添加 <theme_dir>/etc/view.xml 文件到你的主题目录 ,他将重写父主题的文件。