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>

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

User0434
источник
Вы можете установить с помощью страницы, а также файл макета. Используя страницу, вы можете установить в любом месте на домашней странице, и его легко управлять по сравнению с файлом макета.
Ракеш Джесадия,
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, которая находится под текущей примененной темой.

Джагрити Джоши
источник