Ajouter un en-tête et un pied de page dans la page de paiement Magento2

16

Par défaut, Magento 2 ne fournit pas HEADER et FOOTER dans la page CHECK OUT .

J'ai donc vérifié le fichier checkout_index_index.xml sur le chemin

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

Il existe un ensemble d'attributs de suppression pour l'en-tête et le pied de page

donc je désactive l'attribut remove de remove = true à remove = false .

Mais l'en-tête et le pied de page ne s'affichent toujours pas sur la page de paiement. Quelqu'un peut-il me dire comment obtenir l'en-tête et le pied de page sur la page de paiement?

Dhaval
la source
"Par défaut, Magento 2 ne fournit pas HEADER et FOOTER dans la page CHECK OUT." <= ce n'est pas vrai. Par défaut, Magento 2 fournit à la fois le pied de page et l'en-tête lors du paiement, votre thème PERSONNALISÉ les a supprimés.
Raphael au Digital Pianism du
3
@RaphaelatDigitalPianism Mais j'ai utilisé le thème magento / vide comme thème parent et créé mon theme.then pourquoi la page de paiement n'affiche pas l'en-tête et le pied de page? Je n'ai rien changé dans le module Magento_Checkout. J'ai utilisé le module Magento_Checkout par défaut fourni par magento. Et ce problème n'est pas seulement pour moi. J'ai vu tellement de développeurs qui ont le même problème.
Dhaval
@KetanKp Baroda, votre problème est-il résolu?
Rakesh Jesadiya
pas encore résolu ...
Ketan Borada
1
@RaphaelatDigitalPianism, en fait OP a raison. Par défaut, Magento n'inclut pas l'en-tête et le pied de page, car la disposition de paiement utilise la poignée de disposition vide au lieu de 1 colonne.
Erfan

Réponses:

17

J'ai une solution.

Accédez d'abord à Magento_Checkout dans votre dossier de thème app / design / frontend / package_name / theme_name / Magento_Checkout

Créez maintenant la structure de dossier ci-dessous dans le dossier de disposition sur le chemin ci-dessus. remplacer / thème / Magento / vide / checkout_index_index.xml

dans ce fichier checkout_index_index.xml, ajoutez le code ci-dessous.

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

J'espère que quelqu'un trouvera cela utile.

Dhaval
la source
Exception # 0 (LogicException): le remplacement du fichier de vue «D: /xampp/htdocs/nickstore/app/design/frontend/Mytheme/themename/Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml» ne correspond pas à l'un des fichiers. Vous avez cette erreur
Asish Hira
@AsishHira Je pense que vous avez fait une erreur en remplaçant les fichiers.
Dhaval
Non, je ne .. Je l'ai vérifié avec votre réponse 12 fois
Asish Hira
As-tu trouvé la solution? J'ai le même problème. et je sais que c'est parce que le thème vierge n'a pas de fichier layout / ch‌ eckout_index_index.x‌ ml.
Abdul Shakoor Kakar
2
J'ai dû ajouter un </page>à la fin de ce bloc de code pour que cela fonctionne. Aussi pour répondre aux questions des autres utilisateurs, j'ai placé ce fichier surapp/design/frontend/VENDOR/THEME/Magento_Checkout/layout/checkout_index_index.xml
domdambrogia
14

Dans Magento 2.1 (.1), le logo est déplacé /vendor/magento/module-checkout/view/frontend/layout/checkout_index_index.xmlde son emplacement habituel vers checkout.header.wrapperpuis il semble se perdre quelque part.

Voici le culpit:

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

Pour récupérer le logo, ajoutez / modifiez le fichier: [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>
OZZIE
la source
3
2017 ici. Toujours super!
mniess
4

Pour moi, cela a fonctionné:

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>
fassl
la source
Nous avons installé le module OSC donc ce code fonctionne pour nous!
Jack
1

Pour récupérer le logo, ajoutez / modifiez le fichier: [root]/app/design/frontend/[vendor]/[theme]/Magento_Checkout/layout/checkout_index_index.xml Et avant la fin de la balise body ajoutez ce code.

<?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>
Bhagyavant Panhalakr
la source
comme ceci <move element = "header-wrapper" destination = "checkout.header.wrapper" before = "logo" /> <move element = "footer_div" destination = "checkout.header, wrapper" />
Bhagyavant Panhalakr
1

Aucune des réponses ci-dessus n'a fonctionné pour moi et la réponse acceptée entraîne l'erreur suivante:

Exception # 0 (LogicException): le remplacement du fichier de vue '/app/design/frontend///Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml' ne correspond à aucun des fichiers.

Raison de l'erreur: aucun checkout_index_index.xmlfichier à remplacer à l'emplacement spécifié (sous le thème vide).

Solution: Après avoir consulté devDocs https://goo.gl/gvE23c je devais remplacer le fichier de base pour le module de commande en copiant le checkout_index_index.xmlfichier de vendor/module-checkout/layoutrépertoire et copié vers app/design/frontend/<Vendor>/<themename>/Magento_Checkout/layout/override/base et changé layout="checkout"àlayout="1column"

Le logo ne s'affichait pas à cause de la <move element="logo" destination="checkout.header.wrapper"/>ligne, alors je l'ai commenté et il a recommencé à apparaître.

Devtype
la source
0

Essayez d'ajouter watsons checkout_index_index.xml à [root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/override/theme/blank/checkout_index_index.xml

andy.ashler
la source
0

Aller à...

[racine] / app / design / frontend / [fournisseur] / [thème] /Magento_Checkout/layout/checkout_index_index.xml

changer cette ligne

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

à

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

Cela a fonctionné pour moi :)

Gnucho
la source
Excellent travail affichant à nouveau la même réponse ^^ (si ce fichier existe parce qu'un développeur dans votre équipe / entreprise / vous l'avez déjà mis là-bas ..)
OZZIE