Indeks kasy Magento 2 xml nie jest nadpisujący

11

Tworzę motyw Magento 2 przy użyciu pustego motywu jako podstawy. Teraz problem jest Magento 2 puste motyw usuwając górną nagłówek, pasek wyszukiwania, mini koszyk na http: //www.yourdomain/checkout strona

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

usunęli za pomocą

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

Jeśli zastąpię ten sam motyw tutaj, nie działa. Chcę, aby nie usuwać tych elementów, dlatego muszę zastąpić plik XML tutaj

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>

Napisałem, remove="false"aby nie usuwać tych elementów z kasy.

Ale nadal jest to pomysł usuwać motyw?

Sprawdziłem po wyczyszczeniu pamięci podręcznej i ponownym indeksowaniu, ale nie działa

nikunj gandhi
źródło

Odpowiedzi:

15

Aby zastąpić plik XML układu (zamiast rozszerzać), musisz dodać go do nieco innego katalogu, więcej informacji można znaleźć w oficjalnych dokumentach

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

Tak więc w przypadku, w którym musisz zastąpić Magento \ Blank, byłoby to:

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

Jeśli przesłonięcie kompozycji nie działa, upewnij się, że nie musisz zastępować układu pochodzącego z samego modułu, a nie kodu XML kompozycji. Aby to zrobić, przeczytaj sekcję „Zastąp układy podstawowe” w dokumentach połączonych powyżej.

Ben Crook
źródło
już oznaczony jako poprawny ans ...
nikunj gandhi
Co zrobić, jeśli pojawi się następujący komunikat: Przesłanianie pliku widoku ... nie pasuje do żadnego z plików. ?
Vasilii Burlacu,
Tak było w wersji 2.06, ale po aktualizacji do 2.1 dostałem ten komunikat. Przeniesienie pliku do folderu „layout” działało.
Vasilii Burlacu,
1
@VasiliiBurlacu - Nie miałem okazji wypróbować wersji 2.1, ale według dokumentacji metoda przesłonięcia
Ben Crook,
@ Ben-Space48 Nie powiedziałem, że zmieniła się metoda zastępowania, napisałem o podanym błędzie. Byłem checkout_index_index.mltam, gdzie mówi twój post, ale po aktualizacji do wersji 2.1 i uruchomieniu setup:upgrade& setup:static-content:deployMagento FE drukowałem wyjątek z podaną wiadomością.
Vasilii Burlacu,