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?


"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.


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>

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>

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>

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.


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


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 :)


Grande trabalho postando a mesma resposta novamente ^^ (se esse arquivo existe é porque algum desenvolvedor em sua equipe / empresa / você colocá-lo já ..)
OZZIE
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.