So rufen Sie einen statischen Block in der linken Seitenleiste einer Seite in Magento 2 auf


11

Wie können wir einen statischen Block in Magento 2 auf einer Seite aufrufen? In Magento 1 haben wir dies mit dem folgenden Code:

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

Antworten:


51

Wenn Sie den statischen Block auf der Seite aufrufen möchten

Versuchen Sie den folgenden Code:

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

Wenn Sie eine HTML-Datei aufrufen möchten:

Versuchen Sie den folgenden Code:

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

Ihr XML-Dateicode sollte lauten:

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

Endlich, wenn Sie phtml mit Ihrem Block in cms Seite aufrufen möchten:

Versuchen Sie den folgenden Code:

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

Weitere Informationen finden Sie unter diesem Link - https://chetansanghani.wordpress.com/2015/11/20/magento2-display-static-block-in-phtml-file-cms-page/


Vielen Dank für die Antwort. Was auch immer ich auf einer Seite versuche, es wird folgende Fehlermeldung angezeigt: "Bitte korrigieren Sie die XML-Daten und versuchen Sie es erneut. Element 'layout': Andere Zeicheninhalte als Leerzeichen sind nicht zulässig, da der Inhaltstyp 'Nur Elemente' ist. Zeile: 1 "Irgendeine Idee?
Coen

@Coen überprüfen, ob in Ihrer XML-Datei zusätzlicher Speicherplatz vorhanden ist? oder am Anfang der XML-Datei?
Manthan Dave

Ja, es gab ein Komma, ich fand jetzt woanders die Antwort. Siehe meine Frage oben
Coen

@Coen aktualisiert die Antwort bitte überprüfen
Manthan Dave

Danke, verwendet die in der XML-Datei und die von einer CMS-Seite
Coen

8

Das sollte funktionieren:

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

Wo soll ich diese XML ablegen?
Witalo Benicio

0

statischer Block Über dem Bild sehen Sie meine Blockkennung = "product_view_right_sidebar".

Sie müssen nur durch Ihre Blockkennung ersetzen ...

hier meine Blockkennung = "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>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.