Problem z przesłonięciem pliku układu w Magento 2

9

Używam Magento 2.02. Stworzyłem własny motyw o nazwie „cff” oparty na Lumie.

Próbuję usunąć catalog.compare.linkbloktop.links

Wygląd tego bloku wydaje się być zdefiniowany w

/vendor/magento/module-catalog/view/frontend/layout/default.xml

A jeśli dodam

<referenceBlock name="catalog.compare.link" remove="true" />

w tym pliku, zgodnie z oczekiwaniami, tekst „Porównaj produkty” znika z bloku top.links.

Wiem jednak, że nie powinienem zmieniać plików dostawców. Szukam więc odpowiedniego folderu, w którym można utworzyć własny default.xmlplik do umieszczenia kodu usuwania:

Szukałem wszędzie w dokumentacji i online, ale nie mogę znaleźć tych informacji. Wypróbowałem kilka lokalizacji, żadna z nich nie działa. Myślałem, że to powinno działać, ale to też nie:

/app/design/frontend/cff/cff/Magento_Catalog/layout/default.xml

Czy ktoś może mi powiedzieć, gdzie powinien iść układ zastępowania?

To jest kod w moim nadrzędnym układzie default.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="catalog.compare.link" remove="true" />
    </body>
</page>
jodaki
źródło
Przede wszystkim prosimy o aktualizację do najnowszej wersji Magento2 (2.1.5) i powinna działać normalnie. także jeśli jesteś w środowisku programistycznym NIE używaj statycznego wdrażania treści, to znaczy do produkcji, a przy programowaniu powinieneś używać dowiązań symbolicznych. Nie zapomnij również usunąć / odświeżyć bufora „php bin / magento cache: flush” w katalogu głównym swojego magento lub od administratora
Vlad Patru

Odpowiedzi:

1

Możesz spróbować po prostu usunąć kontener odniesienia odniesienia: compare-link-wrapper

<referenceContainer name="compare-link-wrapper" remove="true" />

Istnieje niewielka dokumentacja dotycząca usuwania elementów za pomocą układu xml, ale można ją znaleźć tutaj: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html

W odniesieniu do pytania o miejsce, w którym ten plik powinien znajdować się: masz rację, zakładając, że musimy rozszerzyć plik default.xml, rozszerzając go w naszym motywie Magento_Catalog/layout/default.xmllubMagento_Theme/layout/default.xml

Właśnie próbowałem użyć dokładnie tego samego kodu, który podałeś i nie miałem problemów z usunięciem bloku porównania. Chciałbym dokładnie sprawdzić, czy wyczyściłeś pamięć podręczną i nie muszę niczego publikować w katalogu pubu.

AKTUALIZACJA 4/7/16:

Możesz odświeżyć katalog pubu, ręcznie usuwając pub/statickatalog, a następnie uruchamiając polecenie:

setup:static-content:deploy
Tyler Craft
źródło
Cześć Tyler, nie rozumiem twojego pierwszego zdania. co to jest „porównaj pojemnik referencyjny”? podany kod nie pojawia się w /vendor/magento/module-catalog/view/frontend/layout/default.xml. Próbowałem pliku w obu sugerowanych lokalizacjach, ale nie działa. Czy możesz wymyślić powód, dla którego to może być? I na koniec, co masz na myśli mówiąc „opublikować coś w swoim katalogu pub? Czy Magento nie powinien zająć się wszystkim w tym folderze? Przykro mi, że
jestem
Przepraszam, zapomniałem podziękować za odpowiedź Tyler! Naprawdę doceniam twoją pomoc ..
jodaki,
@jo dodałem trochę
Tyler Craft
0

W folderze motywów przejdź najpierw do folderu Magento_Theme / layout .

następnie utwórz folder layout / override / base i dodaj plik default.xml od dostawcy i dodaj <referenceBlock name="catalog.compare.link" remove="true" />.

Dhaval
źródło
nie ma potrzeby nadpisywania, wystarczy zaktualizować do najnowszej wersji Magento, używając metody, którą już wypróbował, a może po prostu usunąć pamięć podręczną
Vlad Patru
0

Próbowałem usunąć plik ReferenceContainer sidebar.additional ze strony z listą produktów. Wykonałem następujące procedury.

  1. Właśnie skopiowałem <referenceContainer name="sidebar.additional">z \ vendor \ magento \ module-catalog \ view \ frontend \ layout \ default.xml
  2. I połóż to <body>. Kod powinien wyglądać <referenceContainer name="sidebar.additional" remove="true"></referenceContainer>w app \ design \ frontend \ theme \ theme-name \ Magento_Theme \ layout \ default.xml.
TS Guhan
źródło