介绍 Magento的应用程序实现了模型 - 视图 - 控制器架构模式;这意味着,Magento的软件的架构成层,包括视图层。 Magento的应用程序的视图层的主要部分是布局。在功能上,布局是一​​个页面结构,通过元件(元件树),它可以是两种类型的层次结构表示:块和容器。从技术上讲,布局在.xml文件,其中包含元素声明和元素操作指令定义。 本文介绍您需要知道您的自定义主题创建布局的基本概念。 **使用条款** 布局句柄 布局手柄是一个唯一地识别组的布局指示在作为布局文件的一个名称。 有三种布局手柄: ~~~ page type layout handles - 网页类型标识符的同义词。对应控制器操作的“全动作名称”,例如,catalog_product_view。 page layout handles - 特定页面的标识符。对应控制器,能够确定具体的网页,例如,catalog_product_view_type_simple_id_128参数动作。 arbitrary handles - 不符合任何页面类型,但其他句柄通过包括使用它们。 ~~~ **基本布局元素** Magento的的页面设计的基本组成部分是块和容器。 的容器中存在用于分配内容结构到页面的唯一目的。容器具有除包含元素的含量没有其他内容。容器的例子包括报头,左栏,主塔,和页脚。 下图显示了一个例子: ![](https://box.kancloud.cn/2016-03-07_56dd5b09dcb37.jpg) 块代表一个页面上的每个功能,并采用模板生成HTML插入到父结构区块。块的例子包括类别列表中,小型车,产品标签,以及产品上市。 下图显示了一个例子: ![](https://box.kancloud.cn/2016-03-07_56dd5b09ebfa0.jpg) **布局文件类型和约定** ### 布局文件类型:由角色 对特定网页,其布局是由两个主要布局部件限定:页面布局文件和页面配置文件(或对网页的通用布局在AJAX请求,电子邮件返回,等等)。 下面是每个布局文件类型的定义: *页面布局:*XML文件声明HTML页标记的部分内的页面线框,例如,两列页面布局。*页面配置:*XML文件声明详细结构,内容和一个页的元信息(包括,,和HTML页面标记的部分)。 *通用布局:*一个XML文件中声明页的详细结构和内容的HTML页面标记的主体部分内。用于通过AJAX请求,电子邮件,HTML片段,等返回的页面。 有关详细信息,请参阅布局文件类型。 在本指南中,我们使用的布局文件谈论这也同样适用于所有这些类型的布局文件的概念的时候。 ### 模块和主题布局文件 以下术语用于区分由不同的应用程序组件提供布局: *基本布局:由模块提供的布局文件。常规位置:* 网页配置和通用的布局文件: <module_dir>/view/frontend/layout 页面布局文件:<module_dir>/view/frontend/page_layout *主题布局:由主题提供的布局文件。常规位置:* 网页配置和通用的布局文件:<theme_dir>/<Namespace>_<Module>/layout 页面布局文件: <theme_dir>/<Namespace>_<Module>/page_layout **自定义布局** 为了确保稳定性和升级过程中被删除保护您的自定义,不改变外的现成的Magento模块和主题布局。 要进行必要的修改,在你的自定义主题创建扩展和压倒一切的布局文件。 **布局文件的处理** Magento的应用程序处理布局文件按以下顺序: 1.从模块中收集所有布局文件。顺序由从模块列表模块顺序确定 app/etc/config.php 2.确定继承主题的顺序 [<parent_theme>, ..., <parent1_theme>] <current_theme> 3.遍历从去年祖先当前主题的顺序: a.将所有扩展主题布局文件到列表中。 b.替换列表中的覆盖布局文件 4.合并列表中的所有布局文件。 属于未激活残疾输出模块或模块的布局文件将被忽略。