Quando leio a documentação em layouts de página ( http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html#layout-types-page ), vejo que o as seguintes instruções neste documento XML são permitidas:
<container>
<referenceContainer>
<move>
<update>
Como <referenceBlock name="block.name" remove="true" />
não é uma das instruções permitidas, como posso remover um determinado elemento em um layout de página específico?
O que eu quero para as principais categorias é um design de página totalmente diferente. Não preciso de certos contêineres e blocos para este design. Para essas categorias, quero mostrar apenas categorias filho e não os produtos.
O que eu fiz agora é adicionar as seguintes linhas no layout da minha página: (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>
No design\frontend\Vendor\Name-of-theme\Magento_Theme\layouts.xml
eu adicionei:
<layout id="catalog-blocks">
<label translate="true">Catalog Blocks</label>
</layout>
Dei a todas as categorias principais este catálogo - bloqueia o layout da página no administrador.
Depois, no layout principal ( design\frontend\Vendor\Name-of-theme\Magento_Theme\layout\default.xml
), adicionei:
<referenceBlock name="delete" remove="true" />
Portanto, todo o bloco de exclusão será excluído, com todas as coisas que mudei para cá, no layout da página. Isso funciona bem! Consegue exatamente o que eu quero, mas a coisa toda me parece um pouco tola.
Isso é considerado uma boa prática? Caso contrário, qual seria uma boa alternativa?
Edit 1 : Modificado o remove
-tag na minha pergunta com o caminho certo para evitar confusão.
Editar 2 : Mais algumas informações sobre os arquivos e os locais dos arquivos.