When I read the documentation on page-layouts (http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html#layout-types-page) I see that the following instructions in this XML document are allowed:
<referenceBlock name="block.name" remove="true" /> isn't one of the allowed instructions how can I remove a certain element in a specific page layout?
What I want for the top-categories is a whole other page design. I don't need certain containers and blocks for this design. For these categories I only want to show child categories and not the products.
The thing I've done now is, added the following lines in my page layout:
<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>
design\frontend\Vendor\Name-of-theme\Magento_Theme\layouts.xml I addded:
<layout id="catalog-blocks"> <label translate="true">Catalog Blocks</label> </layout>
I gave all the top-categories this catalog-blocks page layout in the admin.
Then in the main layout (
design\frontend\Vendor\Name-of-theme\Magento_Theme\layout\default.xml) I added:
<referenceBlock name="delete" remove="true" />
So the whole delete block will be deleted, with all the things I moved here, in the page layout. This works well! It achieves exactly what I want but the whole thing seems to me a little hackish.
Is this considered being a good practice? If not, what would be a good alternative?
Edit 1: Changed the
remove-tag in my question with the right one to avoid confusion.
Edit 2: Some more information about the files and file-locations.