Cosa sono i blocchi Cms?
I blocchi Cms altro non sono che delle parti di layout da integrare nell’e-commerce. Questi blocchi possono essere costituiti da del codice html, da immagini, da semplice testo ecc.
Come si creano o modificano?
Per poterli creare o modificare bisogna andare in admin, nel menu Content => (Elements) Blocks
A questo punto atterriamo sulla griglia e possiamo scegliere di creare un nuovo blocco cms cliccando sul pulsante in alto a destra “Add New Block“
Oppure dalla griglia clicando nella colonna “Action” il pulsante “Select” => “Edit“, andando a cliccare invece “Delete” andremmo ovviamente ad eliminare il nostro Blocco
Ovviamente queste azioni possono essere svolte anche in maniera massiva, usando le checkbox poste a sinistra in griglia per selezionare i blocchi che ci interessano, poi scegliendo l’azione da fare tramite il menu a tendina “Action” posto in alto a sinistra sulla griglia.
A questo punto ci troviamo dentro il crea/modifica blocco, dove troviamo la possibilità di abilitare/disabilitare il blocco. Il titolo che vogliamo scegliere e l’identifier che è molto importante in quanto sarà da usare quando vogliamo integrare il blocco (si consiglia di non usare caratteri speciali/spazzi). Per finire troviamo la possibilità di attivarlo solo per determinate store view e il page builder per inserire il contenuto del nostro blocco.
Come si integrano nel front-end?
Esistono diversi modi per poter integrare i blocchi nel front-end, ad esempio lo possiamo fare attraverso il richiamo del codice php:
<?php echo $this->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('your_block_identifier')->toHtml(); ?>
tramite xml nel layout su tema del sito o sul modulo riguardante la parte di front-end:
<referenceContainer name="content">
<block class="Magento\Cms\Block\Block" name="block_identifier">
<arguments>
<argument name="block_id" xsi:type="string">block_identifier</argument>
</arguments>
</block>
</referenceContainer>
Oppure attraverso una pagina cms (vedi articolo Come creare pagine Cms su Magento 2), inserendo nel codice html del pagebuilder il seguente codice:
{{widget type="Magento\Cms\Block\Widget\Block" template="widget/static_block/default.phtml" block_id="1"}}
Oppure ancora tramite widget, associando il cms block al widget (vedi articolo Come creare Widget su Magento 2)