系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
在 Magento 2 中,布局文件用于指定页面的布局和结构。布局文件通常保存在 app/design/frontend/MyVendor/mytheme/Magento_Module/layout/ 目录下,并使用 .xml 文件扩展名。Magento 2 支持多种类型的布局文件,下面是一些常见的布局文件类型和示例代码:
default.xml
default.xml 是 Magento 2 中默认使用的布局文件,用于指定页面的基本结构和组件。该文件通常保存在主题的 Magento_Theme/layout/ 目录中。下面是一个简单的 Magento 2 default.xml 文件的代码示例:
<!-- File: app/design/frontend/MyVendor/mytheme/Magento_Theme/layout/default.xml --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="header.container"> <block class="Magento\Theme\Block\Html\Header" name="header" as="header" before="-"> <arguments> <argument name="show_part" xsi:type="string">welcome</argument> </arguments> </block> </referenceBlock> <referenceContainer name="content"> <block class="Magento\Framework\View\Element\Template" name="page.main.title" template="Magento_Theme::html/title.phtml"/> <block class="Magento\Framework\View\Element\Template" name="page.messages" template="Magento_Theme::html/messages.phtml"/> <block class="Magento\Framework\View\Element\Template" name="page.main" template="Magento_Theme::html/container.phtml"/> </referenceContainer> <referenceBlock name="footer"> <arguments> <argument name="show_part" xsi:type="string">powered</argument> </arguments> </referenceBlock> </body> </page>
在上述代码中,使用 <page> 标记定义页面的基本结构和属性。在 <body> 标记中,使用 <referenceBlock> 和 <referenceContainer> 标记来指定页面上的块和容器。例如,在第一个 <referenceBlock> 元素中,定义了一个名为 header 的块,并将其添加到 header.container 块中。在第一个 <referenceContainer> 元素中,定义了三个块:page.main.title、page.messages 和 page.main。