Magento 2: llamar a un bloque estático usando xml

20

Cómo incluyo un bloque estático en una página usando xml. Por ejemplo, creé un bloque estático con identificador promo. En magento 1 incluimos un bloque estático usando el siguiente código

     <block type="cms/block" name="Promo">
          <action method="setBlockId"><block_id>promo</block_id></action>
     </block> 

Quiero hacer exactamente lo mismo en magento 2

Shaheer Ali
fuente
puedes seguir este blog.belvg.com/…
matinict

Respuestas:

49
<block class="Magento\Cms\Block\Block" name="Promo">
    <arguments>
        <argument name="block_id" xsi:type="string">promo</argument>
    </arguments>
</block>

Esto es equivalente a M1.

Kandy
fuente
@ Ben-Space48, de acuerdo
KAndy
32

Las instrucciones xml correctas para la versión actual de Magento2 deben ser:

<block class="Magento\Cms\Block\Block" name="Promo">
    <arguments>
        <argument name="block_id" xsi:type="string">promo</argument>
    </arguments>
</block>

¡Espero que esto ayude!

Valerio Masciotta
fuente
13

Intenta debajo del código.

Llamar desde archivo Phtml:

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

Llamar desde la página o bloque de cms:

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

Llamar desde archivo Xml:

<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>

¡Espero que esto te ayude!

Makwana Ketan
fuente
5

La llamada del archivo Xml funcionó. Cambie el "identificador de bloque" del bloque CMS creado en el panel de Magento y agréguelo a layout.xml

<referenceContainer name="footer">
       <block class="Magento\Cms\Block\Block" name="block_identifier">
            <arguments>
                <argument name="block_id" xsi:type="string">block_identifier</argument>
            </arguments>
        </block>
    </referenceContainer>
Bhanu Gupta
fuente
3

Pruebe el siguiente código:

<block class="Magento\Cms\Block\Block" name="news">
    <arguments>
        <argument name="block_id" xsi:type="string">news</argument>
    </arguments>
</block>

¡Funciona para mí! ¡Espero que esto ayude!

trusha
fuente
este código también funciona para mí
Amol Bhandari SJ
1
 <referenceContainer name="content">
      <block class="Magento\Cms\Block\Block" name="daily_deals" template="bigbazaar.phtml">
        <arguments>
            <argument name="block_id" xsi:type="string">daily_deals</argument>
        </arguments>
    </block>
 </referenceContainer>

Aquí daily_dealsestá el nombre de mi identificador de bloque CMS. Desearía que funcione ...

Dhaval Mistry
fuente
1

bloque estático Arriba de la imagen puedes ver mi identificador de bloque = "product_view_right_sidebar". agregue el siguiente código a su archivo xml

<referenceContainer name="content">
    <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>
Nikunj Panchal
fuente