Magento 2: Rufe einen statischen Block mit xml auf

20

Wie ich einen statischen Block in eine Seite mit XML einbinde. Zum Beispiel habe ich einen statischen Block mit dem Bezeichner promo erstellt. In Magento 1 wird ein statischer Block mit dem folgenden Code eingefügt

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

Ich möchte genau dasselbe in Magento 2 machen

Shaheer Ali
quelle
Sie können diesen folgen blog.belvg.com/...
matinict

Antworten:

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

Dies entspricht M1.

KAndy
quelle
@ Ben-Space48, einverstanden
KAndy
32

Die korrekten XML-Anweisungen für die aktuelle Magento2-Version sollten lauten:

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

Hoffe das hilft!

Valerio Masciotta
quelle
13

Versuchen Sie den folgenden Code.

Aufruf aus der Phtml-Datei:

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

Aufruf von der CMS-Seite oder Block:

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

Aufruf aus der XML-Datei:

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

Hoffe das hilft dir!

Makwana Ketan
quelle
5

Aufruf aus XML-Datei funktioniert. Ändern Sie den "block_identifier" aus dem CMS-Block, der in magento dashboard erstellt wurde, und fügen Sie ihn zu layout.xml hinzu

<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>
Bhanu Gupta
quelle
3

Versuchen Sie den folgenden Code:

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

Es funktioniert bei mir! Hoffe das hilft!

trusha
quelle
Dieser Code funktioniert auch für mich
Amol Bhandari SJ
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>

Hier daily_dealsist der Name meiner CMS-Blockkennung. Ich wünschte, es sollte funktionieren ..

Dhaval Mistry
quelle
1

statischer Block Über dem Bild sehen Sie meine Blockkennung = "product_view_right_sidebar". Füge folgenden Code zu deiner XML-Datei hinzu

<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>
Nikunj Panchal
quelle