Magento2 调用static block 方式

在Magento1x中,调用模块有三个方式:

1 phtml中加入方式

< ?php echo $this->getLayout()->createBlock(‘cms/block’)->setBlockId(‘order_form’)->toHtml() ? >

2 CMS页面的Content中调用静态块

{{ block type="cms/block" block_id="order-form" template="cms/content.phtml" }}

3.layout中调用静态块

< reference name=”footer”>
< block type=”cms/block” name=”order_form” before=”-” >
< action method=”setBlockId” >
< block_id >order_form
< /block_id >
< /action >
< /block>
< /reference >

在Magento2x中同样保留了第三种方,但名称有点变化
1.createBlock(‘cms/block’)改为createBlock("Magento\Cms\Block\Block"),Magento2按目录结构更为喜欢

$this->getLayout()->createBlock("Magento\Cms\Block\Block")->setBlockId("your_block_id")->toHtml();

2 CMS页面的Content中调用静态块

{{ block class="Magento\Cms\Block\Block" name="footet-menu" block_id="your_block_id" }}

3.layout中调用静态块

< block class="Magento\Cms\Block\Block" name="footet-menu">
< arguments >
< argument name="block_id" xsi:type="string" >your_block_id
< / arguments >
< /block >

One thought on “Magento2 调用static block 方式”

  • 调用block报错
    调用block报错 2017 年 09 月 05 日am 1:44

    例如,在自创的一个module中的。phtml文件中调用系统cms中的block‘home page block’,代码如下:
    $this->getLayout()->createBlock("Magento\Cms\Block\Block")->setBlockId("home-page-block")->toHtml();
    在system.log中报错:main.CRITICAL: Class Magento\Cms\Block\Block does not exist [] []

    回复
发表评论
Magento2 技术支持 上门服务

工作时间
周一至周六
9:00-18:00
相关咨询电话
15360669780
侨海科技