O xml do índice de checkout do Magento 2 não está substituindo

11

Estou criando o tema Magento 2 usando o tema em branco como base. Agora, o problema é o tema em branco do Magento 2, removendo o cabeçalho superior, a barra de pesquisa e o minicarrinho na página http: //www.yourdomain/checkout

vendor\magento\theme-frontend-blank\Magento_Checkout\layoutcheckout_cart_index.xml

eles removeram usando

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot; layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="minicart" remove="true"/>
        <referenceContainer name="header.panel" remove="true"/>
        <referenceBlock name="top.search" remove="true"/>
        <referenceBlock name="catalog.compare.link" remove="true"/>
        <referenceBlock name="catalog.topnav" remove="true"/>
        <referenceContainer name="footer-container" remove="true"/>
    </body>
</page>

Se eu substituir o mesmo tema por aqui, ele não está funcionando. O que eu quero não é remover esses elementos, então eu tenho que substituir o arquivo XML aqui

app\design\frontend\NAMESPACE\themename\Magento_Checkout\layout\checkout_index_index.xml

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <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>

Escrevi remove="false"para não remover esses elementos do checkout.

Mas ainda é remover tema uma idéia?

Eu verifiquei após limpar o cache e a re-indexação, mas não está funcionando

nikunj gandhi
fonte

Respostas:

15

Para substituir um arquivo XML de layout (em vez de estender), você precisa adicioná-lo a um diretório um pouco diferente, mais informações podem ser encontradas nos documentos oficiais

<theme_dir>
  |__/<Namespace_Module>
    |__/layout
      |__/override
         |__/theme
            |__/<Parent_Vendor>
               |__/<parent_theme>
                  |--<layout1>.xml
                  |--<layout2>.xml

Portanto, para o seu caso em que você precisa substituir o Magento \ Blank, seria:

app\design\frontend\NAMESPACE\themename\Magento_Checkout\layout\override\theme\Magento\blank\checkout_index_index.xml

Se a substituição do tema não funcionar, verifique se você não precisa substituir o layout proveniente do próprio módulo, e não o XML do tema. Para fazer isso, leia a seção 'Substituir layouts de base' nos documentos acima.

Ben Crook
fonte
já marcado como ans correto ...
nikunj gandhi 23/03
O que fazer se receber a seguinte mensagem: Substituir arquivo de exibição ... não corresponde a nenhum dos arquivos. ?
Vasilii Burlacu
Foi definido assim na versão 2.06, mas após a atualização para 2.1, recebi esta mensagem. Mover o arquivo para a pasta 'layout' funcionou.
Vasilii Burlacu
1
@VasiliiBurlacu - Não tive chance de experimentar com o 2.1, mas de acordo com os documentos, o método de substituição de arquivos XML é o mesmo no 2.1 - devdocs.magento.com/guides/v2.1/frontend-dev-guide/layouts /…
Ben Crook
@ Ben-Space48 Eu não disse que o método principal mudou, escrevi sobre o erro que recebi. Meu checkout_index_index.mlestava no ali mesmo onde o seu post diz, mas depois de fazer o upgrade para 2.1 e funcionando setup:upgrade& setup:static-content:deployMagento FE estava imprimindo a exceção com determinada mensagem.
Vasilii Burlacu