Как вызвать статический блок в левой боковой панели на странице в Magento 2


11

Как мы можем назвать статический блок в Magento 2 на странице. В Magento 1 мы имеем это со следующим кодом:

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

Ответы:


51

Если вы хотите вызвать статический блок на странице

Попробуйте код ниже:

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

Если вы хотите позвонить в phtml файл:

Попробуйте код ниже:

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

Ваш код XML-файла должен быть:

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

Наконец, если вы хотите вызвать phtml со своим блоком на странице cms:

Попробуйте код ниже:

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

Перейдите по этой ссылке для получения дополнительной информации - https://chetansanghani.wordpress.com/2015/11/20/magento2-display-static-block-in-phtml-file-cms-page/


Спасибо за ответ, что бы я ни пытался на странице, я получаю следующую ошибку: «Пожалуйста, исправьте данные XML и повторите попытку. Элемент 'layout': Содержимое символов, отличное от пробелов, не допускается, потому что тип содержимого 'only-element' . Линия: 1 "Есть идеи?
Коэн

Проверка @Coen есть ли дополнительное место в вашем файле XML? или при запуске xml файла?
Мантан Дейв

да была запятая, теперь я нашел где-то еще ответ. Смотрите мой вопрос выше
Коэн

@Coen обновил ответ, пожалуйста, проверьте
Мантан Дейв

Спасибо, использует тот в файле XML и тот на странице cms
Коэн

8

Это должно работать:

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

Где я должен положить этот XML?
Витало Бенисио

0

статический блок Над изображением вы можете увидеть мой идентификатор блока = "product_view_right_sidebar".

Вам нужно только заменить свой идентификатор блока ...

здесь мой идентификатор блока = "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>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.