W Magento 1 mogłem usunąć blok dodany przez plik układu, dodając go do mojego bloku układu
<remove ="block_id_here" />
Jak mogę zrobić to samo dla Magento 2?
Jako ćwiczenie praktyczne powiedzmy, że mam własny moduł, z którego chcę usunąć blok pulpitu nawigacyjnego ze strony panelu administracyjnego.
Blok jest dodawany app/code/Magento/Backend/view/adminhtml/layout/adminhtml_dashboard_index.xml
przy użyciu tego:
<referenceContainer name="content">
<block class="Magento\Backend\Block\Dashboard" name="dashboard"/>
</referenceContainer>
Zakładam, że muszę utworzyć plik view/adminhtml/layout/adminhtml_dashboard_index.xml
w moim module, ale co muszę w nim umieścić?
<remove />
-tag. Błąd w dokumentacji?W najnowszej gałęzi deweloperskiej magento 2, spróbuj utworzyć view / adminhtml / layout / adminhtml_dashboard_index.xml
Źródło https://github.com/magento/magento2/search?l=xml&q=remove&utf8=%E2%9C%93
źródło
Powiedzmy, że chcesz usunąć tabelkę rysunkową ze strony sukcesu. Najpierw musisz znaleźć plik XML odpowiedzialny za tę konkretną stronę w naszym przypadku
vendor/magento/module-checkout/view/frontend/layout/checkout_onepage_success.xml
W tym pliku będziesz mieć następującą treść:
Będziesz teraz musiał rozszerzyć ten plik xml w swoim motywie.
app/design/frontend/.../.../Magento_Checkout/layout/checkout_onepage_success.xml
W nim odwołaj się do bloku, który musisz usunąćpage.main.title
i dodać w następującyremove="true"
sposób:Jeśli chcesz usunąć określony blok ze wszystkich stron cms, możesz to osiągnąć, rozszerzając domyślny
vendor/magento/module-theme/view/frontend/layout/default.xml
plik xml w swoim folderze motywu w następującyapp/design/frontend/.../.../Magento_Theme/layout/default.xml
sposób:źródło