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>

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/


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>

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>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.