チェックアウトページにヘッダーとフッターを追加するMagento2


16

デフォルトでは、Magento 2はCHECK OUTページでHEADERFOOTERを提供しません。

だから私はパス上のcheckout_index_index.xmlファイルをチェックしました

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

ヘッダーとフッターに削除属性セットがあります

したがって、remove = trueからremove = falseに remove属性を設定解除します。

しかし、ヘッダーとフッターがチェックアウトページに表示されないので、チェックアウトページでヘッダーとフッターを取得する方法を教えてください。


「デフォルトでは、Magento 2はCHECK OUTページでHEADERとFOOTERを提供しません。」<=これは事実ではありません。デフォルトのMagento 2は、チェックアウト時にフッターとヘッダーの両方を提供しますが、カスタムテーマはそれらを削除しました。
デジタルピアニズムのラファエル

3
@RaphaelatDigitalPianismしかし、magento / blankテーマを親テーマとして使用してテーマを作成しましたが、チェックアウトページにヘッダーとフッターが表示されないのはなぜですか?Magento_Checkoutモジュールでは何も変更しませんでした。magentoが提供するデフォルトのMagento_Checkoutモジュールを使用しました。そして、この問題は私だけのものではありません。同じ問題を抱えている多くの開発者を見てきました。
ダバル

@KetanKpバローダ、問題は解決しましたか?
ラケシュジェサディヤ

まだ...解決
Ketan Borada

1
@RaphaelatDigitalPianism、実際にはOPは正しいです。チェックアウトレイアウトでは1列ではなく空のレイアウトハンドルが使用されるため、デフォルトではMagentoにはヘッダーとフッターが含まれません。
エルファン

回答:


17

私は解決策を得た。

まず、テーマフォルダー app / design / frontend / package_name / theme_name / Magento_CheckoutのMagento_Checkoutに移動します

次に、上記のパスのレイアウトフォルダーに以下のフォルダー構造を作成します。 override / theme / Magento / blank / 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比良

@AsishHiraファイルをオーバーライドするのに間違いを犯したと思います。
ダバル16

いいえ。私はあなたの答えを12回確認しました
Asish Hira

解決策を見つけましたか?同じ問題があります。空白のテーマにはlayout / ch‌ eckout_index_index.x‌ mlファイルがないためです。
アブドゥルシャクールカカール

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

4

私にとってこれはうまくいきました:

app / design / frontend / Vendor / themename / Magento_Checkout / layout / 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 そして、bodyタグの終わりの前にこのコードを追加します。

<?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

に行く...

[ルート] / app / design / frontend / [ベンダー] / [テーマ] /Magento_Checkout/layout/checkout_index_index.xml

この行を変更

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

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

それは私のために働いた:)


同じ回答を再度投稿する素晴らしい仕事です^^(そのファイルが存在する場合は、チーム/会社の開発者が既にそこに置いているためです。)
OZZIE
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.