Quando leggo la documentazione sui layout di pagina ( http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html#layout-types-page ) vedo che il sono consentite le seguenti istruzioni in questo documento XML:
<container>
<referenceContainer>
<move>
<update>
Dato che <referenceBlock name="block.name" remove="true" />
non è una delle istruzioni consentite come posso rimuovere un determinato elemento in uno specifico layout di pagina?
Quello che voglio per le categorie principali è un altro design di pagina. Non ho bisogno di determinati contenitori e blocchi per questo disegno. Per queste categorie voglio solo mostrare le categorie secondarie e non i prodotti.
La cosa che ho fatto ora è, ho aggiunto le seguenti righe nel mio layout di pagina: (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>
Nel design\frontend\Vendor\Name-of-theme\Magento_Theme\layouts.xml
ho aggiunto:
<layout id="catalog-blocks">
<label translate="true">Catalog Blocks</label>
</layout>
Ho dato a tutte le categorie principali questo layout di pagina dei blocchi di catalogo nell'amministratore.
Quindi nel layout principale ( design\frontend\Vendor\Name-of-theme\Magento_Theme\layout\default.xml
) ho aggiunto:
<referenceBlock name="delete" remove="true" />
Quindi l'intero blocco di eliminazione verrà eliminato, con tutte le cose che ho spostato qui, nel layout di pagina. Funziona bene! Raggiunge esattamente quello che voglio, ma tutto mi sembra un po 'hacker.
Questa è considerata una buona pratica? In caso contrario, quale sarebbe una buona alternativa?
Modifica 1 : remove
ho cambiato il tag nella mia domanda con quello giusto per evitare confusione.
Modifica 2 : ulteriori informazioni sui file e sui percorsi dei file.