Magento 2:使用xml调用静态块


20

我如何使用xml在页面中包含静态块。例如,我创建了一个带有标识符promo的静态块。在magento 1中,我们使用以下代码包含一个静态块

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

我想在magento 2中做完全一样的事情


您可以按照下列blog.belvg.com/...
matinict

Answers:


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

这等效于M1。


@ Ben-Space48,同意
KAndy '16

32

当前Magento2版本的正确xml指令应为:

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

希望这可以帮助!


13

尝试下面的代码。

从Phtml文件调用:

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

从cms页面或阻止呼叫:

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

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

希望这对您有所帮助!


5

从Xml File进行的呼叫有效。更改在magento仪表板上创建的CMS块中的“ block_identifier”,并将其添加到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

试试下面的代码:

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

它对我有用!希望这会有所帮助!


此代码也对我
有用

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>

daily_deals是我的CMS块标识符的名称。我希望它能工作。


1

静态块 在上方的图片中,您可以看到我的区块标识符=“ product_view_right_sidebar”。将以下代码添加到您的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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.