Jak wywołać blok statyczny na lewym pasku bocznym na stronie w Magento 2

11

Jak możemy wywołać blok statyczny w Magento 2 na stronie. W Magento 1 mamy to z następującym kodem:

<reference name="left">
<block type="cms/block" name="Klantenservice menu" before="-">
    <action method="setBlockId"><block_id>cmsmenu</block_id></action>
</block>    
</reference>
Coen
źródło

Odpowiedzi:

51

Jeśli chcesz wywołać blok statyczny na stronie

Wypróbuj poniższy kod:

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

Jeśli chcesz zadzwonić w pliku phtml:

Wypróbuj poniższy kod:

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

Twój kod pliku XML powinien być:

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

Wreszcie, jeśli chcesz wywołać phtml z blokiem na stronie cms:

Wypróbuj poniższy kod:

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

Zobacz ten link, aby uzyskać więcej informacji - https://chetansanghani.wordpress.com/2015/11/20/magento2-display-static-block-in-phtml-file-cms-page/

Manthan Dave
źródło
Dzięki za odpowiedź, niezależnie od tego, co spróbuję na stronie, pojawia się następujący błąd: „Popraw dane XML i spróbuj ponownie. Element„ układ ”: Zawartość znaków inna niż białe znaki nie jest dozwolona, ​​ponieważ typ zawartości to„ tylko element ” Linia: 1 „Masz pomysł?
Coen
@Coen sprawdź, czy w pliku xml jest dodatkowe miejsce? lub na początku pliku xml?
Manthan Dave
tak, był przecinek, teraz znalazłem odpowiedź gdzie indziej. Zobacz moje pytanie powyżej
Coen
@Coen zaktualizował odpowiedź, proszę sprawdzić
Manthan Dave
Dzięki, używa tego w pliku xml i tego na stronie cms
Coen
8

To powinno działać:

<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>
Arunendra
źródło
Gdzie mam umieścić ten plik XML?
Witalo Benicio,
0

blok statyczny Nad obrazem widać mój identyfikator bloku = "product_view_right_sidebar".

Musisz tylko zastąpić swoim identyfikatorem bloku ...

tutaj mój identyfikator bloku = „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>
Nikunj Panchal
źródło