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


12

Як відобразити статичні блоки на домашній сторінці? Я хочу показати статичний блок в будинку на сторінці. Я переосмислюю 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? Ракеш
— Користувач0434

Так, використовуючи сторінку cms, виклик блоку всередині сторінки cms
— Ракеш Єсадія

як зателефонувати на сторінку cms на головну сторінку .. чи можете ви навести будь-який приклад
— User0434

як відобразити його на домашній сторінці
— Користувач0434

Відповіді:


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

21

Зробити це можна двома способами.

На сторінці 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

@Nadh cms_index_index.xmlви можете знайти його в перегляді розділу module-cms
— Kul

Вам потрібно перекрити цей модуль?
— Користувач0434

Якщо у вас немає цього модуля у вашій темі, ви можете скопіювати з Vendor/magento/іншого випадку не потрібно переоцінювати
— Kul

його не працює
— User0434

3

Створити блок

  1. Перейдіть на панель адміністраторів магазину Magento і перейдіть на вкладку " Вміст" з лівого кута сторінки. Далі натисніть на пункт Блоки .

  2. Потім натисніть кнопку Додати новий блок .

  3. Далі додайте реквізити блоку -> Введіть заголовок блоку (Назва блоку) та Ідентифікатор блоку (Ідентифікатор блоку).

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

  5. Тепер просто натисніть Зберегти .

Додати блок на головну сторінку

  1. Перейдіть на панель адміністратора магазину Magento, перейдіть на вкладку " Вміст" з лівого кута сторінки та натисніть на сторінку Сторінка.

  2. Клацніть Правка на домашній сторінці .

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

  4. Клацніть Зберегти


потрібно додати URL як домашню?
— Користувач0434

Про яку URL-адресу ви говорите?
— Syed Muneeb Ul Hasan

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.