如何在Magento 2中的页面左侧边栏中调用静态块


11

我们如何在页面的Magento 2中调用静态块。在Magento 1中,我们使用以下代码:

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

Answers:


51

如果要在页面中调用静态块

试试下面的代码:

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

如果要在phtml文件中调用:

试试下面的代码:

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

您的xml文件代码应为:

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

如果您想在cms页面中使用您的代码块调用phtml,请执行以下操作:

试试下面的代码:

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

请参阅此链接以获取更多详细信息-https://chetansanghani.wordpress.com/2015/11/20/magento2-display-static-block-in-phtml-file-cms-page/


感谢您的答复,无论我在页面中尝试什么,都会收到以下错误:“请更正XML数据,然后重试。元素'布局':不允许使用除空格以外的字符内容,因为内容类型为'仅元素'行:1“有什么想法吗?
科恩

@Coen检查您的xml文件中是否有多余的空间?还是在xml文件的开头?
Manthan Dave

是的,有一个逗号,我现在在其他地方找到了答案。看到我上面的问题
科恩

@Coen更新了答案,请检查
Manthan Dave

谢谢,在xml文件中使用一个,在cms页面中使用一个
Coen

8

这应该工作:

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

我应该把这个xml放在哪里?
Witalo Benicio

0

静态块 在上图中,您可以看到我的区块标识符=“ product_view_right_sidebar”。

您只需要替换您的块标识符...

在这里,我的区块标识符=“ 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>
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.