Cómo llamar al bloque estático en la barra lateral izquierda en una página en Magento 2


11

¿Cómo podemos llamar a un bloque estático en Magento 2 en una página? En Magento 1 tenemos esto con el siguiente código:

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

Respuestas:


51

Si quieres llamar al bloque estático en la página

Pruebe el siguiente código:

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

Si desea llamar en el archivo phtml:

Pruebe el siguiente código:

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

Su código de archivo xml debe ser:

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

Por fin si quieres llamar a phtml con tu bloque en la página de cms:

Pruebe el siguiente código:

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

Consulte este enlace para obtener más detalles: https://chetansanghani.wordpress.com/2015/11/20/magento2-display-static-block-in-phtml-file-cms-page/


Gracias por la respuesta, lo que sea que intente en una página me sale el siguiente error: "Corrija los datos XML e intente nuevamente. Elemento 'diseño': el contenido de caracteres que no sea espacio en blanco no está permitido porque el tipo de contenido es 'solo elemento' Línea: 1 "¿Alguna idea?
Coen

@Coen check ¿hay algún espacio extra en su archivo xml? o al comienzo del archivo xml?
Manthan Dave el

sí, había una coma, ahora encontré en otro lugar la respuesta. Vea mi pregunta anterior
Coen el

@Coen actualizó la respuesta, por favor verifique
Manthan Dave el

Gracias, usa el que está en el archivo xml y el que está en una página de cms
Coen

8

Esto debería funcionar:

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

¿Dónde debo poner este xml?
Witalo Benicio

0

bloque estático Arriba de la imagen puedes ver mi identificador de bloque = "product_view_right_sidebar".

Solo necesita reemplazarlo con su identificador de bloque ...

aquí, mi identificador de bloque = "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>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.