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.