在结帐页面Magento2中添加页眉和页脚


16

默认情况下,Magento 2 在CHECK OUT页面中不提供HEADERFOOTER

所以我检查了路径上的checkout_index_index.xml文件

app/design/frontend/package_name/theme_name/Magento_Checkout/layout/override/base

删除页眉和页脚属性集

所以我将remove属性从remove = true取消设置为remove = false

但是结帐页面上仍然没有显示页眉和页脚,因此有人可以告诉我如何在结帐页面上获取页眉和页脚吗?


“默认情况下,Magento 2在CHECK OUT页面中不提供HEADER和FOOTER。” <=这是不正确的。默认的Magento 2在结帐时同时提供页脚和页眉,您的CUSTOM主题将其删除。
拉斐尔(Raphael)在Digital Pianism上,2013年

3
@RaphaelatDigitalPianism但是我将magento / blank主题用作父主题并创建了我的主题。那么为什么结帐页面没有显示页眉和页脚?我没有更改Magento_Checkout模块中的任何内容,我使用了magento提供的默认Magento_Checkout模块。这个问题不仅仅适合我。我见过太多有相同问题的开发人员。
达哈尔

@KetanKp Baroda,您的问题解决了吗?
Rakesh Jesadiya

尚未解决……
Ketan Borada

1
@RaphaelatDigitalPianism,实际上OP是正确的。默认情况下,Magento不包含页眉和页脚,因为检出布局使用空布局句柄而不是1列。
Erfan

Answers:


17

我有解决办法。

首先转到主题文件夹 app / design / frontend / package_name / theme_name / Magento_Checkout中的Magento_Checkout

现在,在上述路径的布局文件夹中创建以下文件夹结构。 覆盖/主题/ Magento /空白/checkout_index_index.xml

在此checkout_index_index.xml文件中,添加以下代码。

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <move element="logo" destination="header-wrapper" before="-" />
        <referenceBlock name="minicart" remove="false" />
        <referenceContainer name="header.panel" remove="false" />
        <referenceBlock name="top.search" remove="false" />
        <referenceBlock name="catalog.compare.link" remove="false" />
        <referenceBlock name="catalog.topnav" remove="false"/>
        <referenceContainer name="footer-container"  remove="false"/>
    </body>
</page>

我希望有人会觉得有用。


异常#0(LogicException):覆盖视图文件'D:/xampp/htdocs/nickstore/app/design/frontend/Mytheme/themename/Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml不匹配任何文件。得到了这个错误
Asish Hira

@AsishHira我认为您在覆盖文件时犯了一些错误。
Dhaval

不,我不会。.我用你的回答检查了12次
Asish Hira 16/09/9

找到解决方案了吗?我有同样的问题。我知道这是因为空白主题没有layout / ch‌eckout_index_index.xml文件。
阿卜杜勒·沙库尔·卡卡尔

2
我必须</page>在此代码块的末尾添加一个,以使其正常工作。为了回答其他用户的问题,我将该文件放置在app/design/frontend/VENDOR/THEME/Magento_Checkout/layout/checkout_index_index.xml
domdambrogia

14

在Magento 2.1(.1)中,徽标/vendor/magento/module-checkout/view/frontend/layout/checkout_index_index.xml从正常位置移动到checkout.header.wrapper,然后似乎丢失了。

这是罪魁祸首:

<move element="logo" destination="checkout.header.wrapper"/>

要找回徽标,请添加/编辑文件: [root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/checkout_index_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  layout="1column"
  xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <move element="logo" destination="header-wrapper"/>
    </body>
</page>

3
2017在这里。还是很棒!
mniess '17

4

对我来说,这工作:

应用/设计/前端/供应商/主题名称/ Magento_Checkout /布局/checkout_index_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
      <move element="logo" destination="header-wrapper"/>
    </body>
</page>

app / design / frontend / vendor / themename / Magento_Checkout / page_layout / checkout.xml

<?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"/>
</layout>

我们已经安装了OSC模块,因此此代码对我们有用!
杰克

1

要找回徽标,请添加/编辑文件:[root]/app/design/frontend/[vendor]/[theme]/Magento_Checkout/layout/checkout_index_index.xml 在正文标签末尾添加此代码。

<?xml version="1.0"?>
    <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      layout="1column"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <body>
            <move element="logo" destination="header-wrapper"/>
            <move element="header-wrapper" destination="checkout.header.wrapper" before="logo"/> 
            <move element="footer_div" destination="checkout.header.wrapper"/>

        </body>
    </page>

像这样<move element =“ header-wrapper” destination =“ checkout.header.wrapper” before =“ logo” /> <move element =“ footer_div” destination =“ checkout.header,wrapper” />
Bhagyavant Panhalakr

1

以上都不适合我,接受的答案会导致以下错误:

异常#0(LogicException):覆盖视图文件'/app/design/frontend////Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml'与任何文件都不匹配。

错误原因,checkout_index_index.xml在指定位置(空白主题下)没有文件要覆盖。

解决方案: 在咨询devDocs https://goo.gl/gvE23c之后,我不得不通过checkout_index_index.xmlvendor/module-checkout/layout目录复制文件并将其复制到app/design/frontend/<Vendor>/<themename>/Magento_Checkout/layout/override/base 并更改layout="checkout"为来覆盖结帐模块的基本文件layout="1column"

徽标未显示是由<move element="logo" destination="checkout.header.wrapper"/>线条引起的,因此我将其注释掉,然后再次显示。


0

尝试将watsons checkout_index_index.xml添加到[root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/override/theme/blank/checkout_index_index.xml


0

去...

[root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/checkout_index_index.xml

改变这条线

<move element="logo" destination="checkout.header.wrapper"/>

<move element="logo" destination="header-wrapper"/>

这对我有用:)


很好,再次发布相同的答案^^(如果该文件存在是因为您的团队/公司/您已经将它放在那里了。.)
OZZIE
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.