Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml Magento 2:更改自定义主题默认布局_Xml_Magento_Layout_Themes_Magento2 - Fatal编程技术网

Xml Magento 2:更改自定义主题默认布局

Xml Magento 2:更改自定义主题默认布局,xml,magento,layout,themes,magento2,Xml,Magento,Layout,Themes,Magento2,我有一个自定义主题,它没有从Magento继承父主题 默认布局似乎是1column,我可以在自定义主题的layout\default.xml文件中修改该列 但是,我希望主题的默认布局是2列左,而不是1列。查看Magento的内置主题,这似乎是通过向default.xml中的page元素添加layout属性来实现的 我的自定义主题的目录设置如下所示: \Metal \bronze \Magento_Theme \layout default.xml

我有一个自定义主题,它没有从Magento继承父主题

默认布局似乎是
1column
,我可以在自定义主题的
layout\default.xml
文件中修改该列

但是,我希望主题的默认布局是
2列左
,而不是
1列
。查看Magento的内置主题,这似乎是通过向
default.xml
中的
page
元素添加
layout
属性来实现的

我的自定义主题的目录设置如下所示:

\Metal
  \bronze
    \Magento_Theme
      \layout
        default.xml
        default_head_blocks.xml
      \page_layout
        1column.xml
        2columns-left.xml
    \media
      ...
    \web
      ...
    composer.json
    registration.php
    theme.xml
default.xml

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLScema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Laout/etc/page_configuration.xsd"
      layout="2columns-left">
    <body>
        <referenceContainer name="header.container">
            <container name="header.panel.wrapper" htmlClass="panel wrapper" htmlTag="div" before="-"/>
        </referenceContainer>
        <move element="header.panel" destination="header.panel.wrapper"/>
        <referenceContainer name="sidebar_main">
            <container name="sidebar_main.newsletter" htmlTag="div" before="-"/>
        </referenceContainer>
        <move element name="subscribe" destination="sidebar_main.newsletter"/>
    </body>
</page>
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd">
    <update handle="empty"/>
    <referenceContainer name="page.wrapper">
        <container name="header.container" as="header_container" label="Page Header Container"  htmlTag="header" htmlClass="page-header" before="main.content"/>
        <container name="page.top" as="page_top" label="After Page Header" after="header.container"/>
        <container name="footer-container" as="footer" before="before.body.end" label="Page Footer Container" htmlTag="footer" htmlClass="page-footer" />
    </referenceContainer>
</layout>

1column.xml

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLScema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Laout/etc/page_configuration.xsd"
      layout="2columns-left">
    <body>
        <referenceContainer name="header.container">
            <container name="header.panel.wrapper" htmlClass="panel wrapper" htmlTag="div" before="-"/>
        </referenceContainer>
        <move element="header.panel" destination="header.panel.wrapper"/>
        <referenceContainer name="sidebar_main">
            <container name="sidebar_main.newsletter" htmlTag="div" before="-"/>
        </referenceContainer>
        <move element name="subscribe" destination="sidebar_main.newsletter"/>
    </body>
</page>
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd">
    <update handle="empty"/>
    <referenceContainer name="page.wrapper">
        <container name="header.container" as="header_container" label="Page Header Container"  htmlTag="header" htmlClass="page-header" before="main.content"/>
        <container name="page.top" as="page_top" label="After Page Header" after="header.container"/>
        <container name="footer-container" as="footer" before="before.body.end" label="Page Footer Container" htmlTag="footer" htmlClass="page-footer" />
    </referenceContainer>
</layout>

2列左

<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd">
    <update handle="1column"/>
    <referenceContainer name="columns">
        <container name="div.sidebar.main" htmlTag="div" htmlClass="sidebar sidebar-main" after="main">
            <container name="sidebar.main" as="sidebar_main" label="Sidebar Main"/>
        </container>
        <container name="div.sidebar.additional" htmlTag="div" htmlClass="sidebar sidebar-additional" after="div.sidebar.main">
            <container name="sidebar.additional" as="sidebar_additional" label="Sidebar Additional"/>
        </container>
    </referenceContainer>
</layout>

我对
1column.xml
default.xml
中引用的任何容器所做的任何更改都将反映在网站上,但我似乎无法将默认布局更新为
2 column left
。所有已定义的容器都不会呈现在页面上,因此也不允许我将默认的新闻稿块移动到侧栏


我错过了什么?是否尝试在主题中添加页面布局声明文件,如下所述:

尝试在主题中添加页面布局声明文件,如下所述: