Magento2: отображение статических блоков на домашней странице


11

Как отобразить статические блоки на домашней странице. Я хочу показать статический блок в home на странице. Я перебираю module_cms и добавляю этот код в cms_index-index, но он показывает только последний блок

   <referenceContainer name="content.bottom">
<block class="Magento\Cms\Block\Block" name="block_identifier">
    <arguments>
        <argument name="block_id" xsi:type="string">block1</argument>
    </arguments>
</block>

     <block class="Magento\Cms\Block\Block" name="block_identifier" after="-">
    <arguments>
        <argument name="block_id" xsi:type="string">block2</argument>
    </arguments>
</block>

Как показать все блоки


Вы можете установить с помощью страницы, а также файл макета. Используя страницу, вы можете установить в любом месте на домашней странице, и его легко управлять по сравнению с файлом макета.
Ракеш Джесадия,

cms страница? Rakesh
User0434

Да, используя страницу cms, блокировка звонка внутри страницы cms
Ракеш Джесадия,

как позвонить на страницу cms на домашней странице ..
Можете

как отобразить его на домашней странице
User0434

Ответы:


9

Держите ниже XML в вашем файле cms_index_index.xml и проверьте перед,

Вы должны держать то же самое block_identifierдля обоих статических блоков.

You have to keep static block name as unique,

  <referenceContainer name="content.bottom">
        <block class="Magento\Cms\Block\Block" name="block_identifier">
            <arguments>
                <argument name="block_id" xsi:type="string">block1</argument>
            </arguments>
        </block>

        <block class="Magento\Cms\Block\Block" name="block_identifier-second" after="-">
            <arguments>
                <argument name="block_id" xsi:type="string">block2</argument>
            </arguments>
        </block>
   </referenceContainer>

Замените block1 и block2 своим статическим идентификатором блока в приведенном выше XML-коде.


ничего не отображается
User0434

Вы изменили имя так же, как указано выше, и вы создали block1 и block2?
Ракеш Джесадия

изменилось, но не показывалось
User0434

хорошо, я получил его на работу
User0434

если я добавлю еще один блок, то
User0434

20

Вы можете сделать это 2 способа.

Со страницы cms добавить блок в дань уважения:

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

Из XML-файла:

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

Надеюсь, это поможет вам


какой XML-файл ..Kul
User0434

@ Над, cms_index_index.xmlвы можете найти его в разделе просмотра module-cms
Kul

нужно перевесить этот модуль?
User0434

Если у вас нет этого модуля в вашей теме, вы можете скопировать его, Vendor/magento/иначе нет необходимости переопределять
Kul

его не работает
User0434

3

Создать блок

  1. Перейдите в панель администратора магазина Magento и перейдите на вкладку « Содержимое » в левом углу страницы. Далее, нажмите кнопку « Блоки» .

  2. Затем нажмите Добавить новый блок .

  3. Затем добавьте детали блока -> введите заголовок блока (заголовок блока) и идентификатор блока (идентификатор блока).

  4. Установите Block Identifier = Demo_Test и добавьте текст в раздел контента .

  5. Теперь просто нажмите Сохранить .

Добавить блок на домашнюю страницу

  1. Перейдите на панель администратора магазина Magento, перейдите на вкладку « Содержимое » в левом углу страницы и затем нажмите «Страница».

  2. Нажмите Редактировать на главной странице .

  3. Перейдите в раздел контента и добавьте шорткод блока : {{block class="Magento\Cms\Block\Block" block_id="Demo_Test"}}

  4. Нажмите Сохранить


Нужно добавить URL как дома?
User0434

Какой URL вы говорите?
Сайед Муниб Уль Хасан

1

Лучший способ - перейти в файл макета и скопировать описание блока.

<block class="Itheavens\Fanpage\Block\Index\Index" name="index.index" template="Itheavens_Fanpage::index/index.phtml"/>

и заменить его на второй кронштейн, вот так

{{block class="Itheavens\Fanpage\Block\Index\Index" name="index.index" template="Itheavens_Fanpage::index/index.phtml"}}

0

block_identifier

Добавьте файл default.xml в папку Magento_theme, которая находится под текущей примененной темой.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.