Magento 2: Chame um bloco estático usando xml


20

Como eu incluo um bloco estático em uma página usando xml. Por exemplo, eu criei um bloco estático com identificador promocional. No magento 1, incluímos um bloco estático usando o código abaixo

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

Eu quero fazer exatamente o mesmo no magento 2


você pode seguir este blog.belvg.com/…
matinict

Respostas:


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

Isso é equivalente a M1.


@ Ben-Space48, concorda #
KAndy

32

As instruções xml corretas para a versão atual do Magento2 devem ser:

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

Espero que isto ajude!


13

Experimente o código abaixo.

Chamada do arquivo phtml:

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

Ligue da página ou bloco cms:

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

Chamada do arquivo 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 isso ajude você!


5

A chamada do arquivo Xml funcionou. Altere o "block_identifier" do bloco CMS criado no painel magento e adicione-o ao 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>

3

Experimente o código abaixo:

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

Funciona para mim, espero que ajude!


esse código funciona para mim também
Amol Bhandari SJ 19/11

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>

Aqui daily_dealsestá o nome do meu identificador de bloco do CMS. Eu gostaria que funcionasse ..


1

bloco estático Acima da imagem, você pode ver meu identificador de bloco = "product_view_right_sidebar". adicione o código abaixo ao seu arquivo 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>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.