Come chiamare il blocco statico nella barra laterale sinistra in una pagina in Magento 2


11

Come possiamo chiamare un blocco statico in Magento 2 in una pagina. In Magento 1 abbiamo questo con il seguente codice:

<reference name="left">
<block type="cms/block" name="Klantenservice menu" before="-">
    <action method="setBlockId"><block_id>cmsmenu</block_id></action>
</block>    
</reference>

Risposte:


51

Se si desidera chiamare il blocco statico nella pagina

Prova sotto il codice:

{{block class="Magento\\Cms\\Block\\Block" block_id="block_identifier"}}

Se vuoi chiamare nel file phtml:

Prova sotto il codice:

<?php echo $block->getLayout()->createBlock(\Magento\Cms\Block\Block::class)->setBlockId('block_identifier')->toHtml();?>

Il codice del tuo file xml dovrebbe essere:

<referenceContainer name="sidebar.additional">
   <block class="Magento\Cms\Block\Block" name="yourblockid">
       <arguments>
            <argument name="block_id" xsi:type="string">yourblockid</argument>
       </arguments>
   </block>
</referenceContainer>

Finalmente se vuoi chiamare phtml con il tuo blocco nella pagina cms:

Prova sotto il codice:

{{block class="Magento\Modulename\Block\Blockname" template="Magento_Modulename::templatefilename.phtml"}} 

Fai riferimento a questo link per maggiori dettagli - https://chetansanghani.wordpress.com/2015/11/20/magento2-display-static-block-in-phtml-file-cms-page/


Grazie per la risposta, qualunque cosa provo in una pagina ottengo il seguente errore: "Correggi i dati XML e riprova. Elemento" layout ": il contenuto del carattere diverso dallo spazio non è consentito perché il tipo di contenuto è" solo elemento " Linea: 1 "Qualche idea?
Coen,

@Coen check c'è spazio extra nel tuo file xml? o all'inizio del file xml?
Manthan Dave,

sì, c'era una virgola, ora ho trovato altrove la risposta. Vedi la mia domanda sopra
Coen,

@Coen ha aggiornato la risposta, controlla
Manthan Dave,

Grazie, usa quello nel file xml e quello da una pagina cms
Coen

8

Questo dovrebbe funzionare:

<referenceContainer name="sidebar.additional">
   <block class="Magento\Cms\Block\Block" name="yourblockid">
       <arguments>
            <argument name="block_id" xsi:type="string">yourblockid</argument>
       </arguments>
   </block>
</referenceContainer>

Dove devo mettere questo xml?
Witalo Benicio,

0

blocco statico Sopra l'immagine puoi vedere il mio identificatore di blocco = "product_view_right_sidebar".

Devi solo sostituire con il tuo identificatore di blocco ...

qui, il mio identificatore di blocco = "product_view_right_sidebar" == "Your_block_identifier"

<referenceContainer name="sidebar.additional">
    <block class="Magento\Cms\Block\Block" name="product_view_right_sidebar">
        <arguments>
                <argument name="block_id" xsi:type="string">product_view_right_sidebar</argument>
        </arguments>
    </block>
</referenceContainer>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.