Wenn ich die Dokumentation zu Seitenlayouts lese ( http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html#layout-types-page ), sehe ich, dass die Die folgenden Anweisungen in diesem XML-Dokument sind zulässig:
<container>
<referenceContainer>
<move>
<update>
<referenceBlock name="block.name" remove="true" />
Wie kann ich ein bestimmtes Element in einem bestimmten Seitenlayout entfernen, da dies keine der zulässigen Anweisungen ist?
Was ich für die Top-Kategorien möchte, ist ein ganz anderes Seitendesign. Ich brauche keine bestimmten Behälter und Blöcke für dieses Design. Für diese Kategorien möchte ich nur untergeordnete Kategorien und nicht die Produkte anzeigen.
Ich habe jetzt die folgenden Zeilen in mein Seitenlayout eingefügt: (in design\frontend\Vendor\Name-of-theme\Magento_Theme\page_layout\catalog-blocks.xml
)
<move element="category.image" destination="delete"></move>
<move element="category.description" destination="delete"></move>
<move element="category.products" destination="delete"></move>
<move element="page.main.title" destination="delete"></move>
In dem habe design\frontend\Vendor\Name-of-theme\Magento_Theme\layouts.xml
ich hinzugefügt:
<layout id="catalog-blocks">
<label translate="true">Catalog Blocks</label>
</layout>
Ich habe allen Top-Kategorien dieses Katalogs Block-Seitenlayout im Admin gegeben.
Dann habe design\frontend\Vendor\Name-of-theme\Magento_Theme\layout\default.xml
ich im Hauptlayout ( ) hinzugefügt:
<referenceBlock name="delete" remove="true" />
Der gesamte Löschblock wird also mit allen Dingen, die ich hierher verschoben habe, im Seitenlayout gelöscht. Das funktioniert gut! Es erreicht genau das, was ich will, aber das Ganze scheint mir ein wenig hackisch.
Wird dies als gute Praxis angesehen? Wenn nicht, was wäre eine gute Alternative?
Edit 1 : Das remove
-tag in meiner Frage wurde durch das richtige geändert , um Verwirrung zu vermeiden.
Bearbeiten 2 : Weitere Informationen zu den Dateien und Speicherorten.