Adicionar cabeçalho e rodapé na página de check-out Magento2

16

Por padrão, o Magento 2 não fornece HEADER e FOOTER na página CHECK OUT .

Então, verifiquei o arquivo checkout_index_index.xml no caminho

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

Há um atributo de remoção definido para cabeçalho e rodapé

por isso, desmarque a opção remover atributo de remove = true para remover = false .

Mas o cabeçalho e o rodapé ainda não estão sendo exibidos na página de check-out. Alguém pode me dizer como posso obter cabeçalho e rodapé na página de check-out?

Dhaval
fonte
"Por padrão, o Magento 2 não fornece HEADER e FOOTER na página CHECK OUT." <= isso não é verdade. O Magento 2 padrão fornece rodapé e cabeçalho na finalização da compra, seu tema PERSONALIZADO os excluiu.
Raphael no Digital Pianism
3
@RaphaelatDigitalPianism Mas eu uso o tema magento / blank como tema principal e crio meu theme.then por que a página de checkout não mostra o cabeçalho e o rodapé? Eu não mudei nada no módulo Magento_Checkout. Eu usei o módulo Magento_Checkout padrão que é fornecido pelo magento. E esta questão não é apenas para mim. Eu já vi tantos desenvolvedores que têm o mesmo problema.
Dhaval
@KetanKp Baroda, seu problema foi resolvido?
Rakesh Jesadiya
ainda não resolvido ...
Ketan Borada
1
@RaphaelatDigitalPianism, na verdade, o OP está certo. Por padrão, o Magento não inclui cabeçalho e rodapé, porque o layout de checkout usa o identificador de layout vazio em vez de 1 coluna.
Erfan

Respostas:

17

Eu tenho uma solução.

Primeiro, vá para Magento_Checkout na pasta de temas app / design / frontend / package_name / theme_name / Magento_Checkout

Agora crie a estrutura de pastas abaixo na pasta de layout no caminho acima. substituir / tema / Magento / em branco / checkout_index_index.xml

neste arquivo checkout_index_index.xml, adicione o código abaixo.

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

Espero que alguém ache isso útil.

Dhaval
fonte
Exceção # 0 (LogicException): Substituir o arquivo de exibição 'D: /xampp/htdocs/nickstore/app/design/frontend/Mytheme/themename/Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml' não corresponde a qualquer um dos arquivos. Recebi este erro
Asish Hira 08/09
@AsishHira Acho que você cometeu algum erro ao substituir arquivos.
Dhaval
Não, eu não .. eu verifiquei com sua resposta 12 vezes
Asish Hira
Você encontrou a solução? Eu tenho o mesmo problema. e eu sei que é porque o tema em branco não tem arquivo de layout / ch‌ eckout_index_index.x‌ ml.
Abdul Shakoor Kakar 27/09/16
2
Eu tive que adicionar um </page>no final deste bloco de código para que isso funcionasse. Também para responder às perguntas de outros usuários, coloquei este arquivo emapp/design/frontend/VENDOR/THEME/Magento_Checkout/layout/checkout_index_index.xml
domdambrogia
14

No Magento 2.1 (.1), o logotipo é movido /vendor/magento/module-checkout/view/frontend/layout/checkout_index_index.xmldo local normal para checkout.header.wrappere, em seguida, parece se perder em algum lugar.

Este é o culpado:

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

Para recuperar o logotipo, adicione / edite o arquivo: [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
fonte
3
2017 aqui. Ainda ótimo!
Mniess 12/12/19
4

Para mim, isso funcionou:

app / design / frontend / fornecedor / 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 / front-end / fornecedor / 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
fonte
Como temos o módulo OSC instalado, esse código funciona para nós!
Jack
1

Para recuperar o logotipo, adicione / edite o arquivo: [root]/app/design/frontend/[vendor]/[theme]/Magento_Checkout/layout/checkout_index_index.xml E antes da tag de fim do corpo, adicione este código.

<?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
fonte
como este <move element = "header-wrapper" destination = "checkout.header.wrapper" before = "logo" /> <move element = "footer_div" destination = "checkout.header, wrapper" />
Bhagyavant Panhalakr
1

Nenhuma das opções acima funcionou para mim e a resposta aceita resultou no seguinte erro:

Exceção # 0 (LogicException): Substituir o arquivo de visualização '/app/design/frontend///Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml' não corresponde a nenhum dos arquivos.

Razão para o erro, não há checkout_index_index.xml arquivo a ser substituído no local especificado (no tema em branco).

Solução: Após consultar o devDocs https://goo.gl/gvE23c , tive que substituir o arquivo base do módulo de checkout, copiando o checkout_index_index.xmlarquivo do vendor/module-checkout/layoutdiretório e copiando-o para app/design/frontend/<Vendor>/<themename>/Magento_Checkout/layout/override/base e alterandolayout="checkout" paralayout="1column"

O logotipo não estava sendo exibido por causa da <move element="logo" destination="checkout.header.wrapper"/>linha, então comentei e comecei a aparecer novamente.

Devtype
fonte
0

Tente adicionar watsons checkout_index_index.xml a [root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/override/theme/blank/checkout_index_index.xml

andy.ashler
fonte
0

Vamos para...

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

mude esta linha

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

para

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

Isso funcionou para mim :)

Gnucho
fonte
Grande trabalho postando a mesma resposta novamente ^^ (se esse arquivo existe é porque algum desenvolvedor em sua equipe / empresa / você colocá-lo já ..)
OZZIE