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でもまったく同じようにしたい


回答:


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

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ファイルからの呼び出しが機能しました。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>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.