Magento 2: wyświetl statyczne bloki na stronie głównej

12

Jak wyświetlić statyczne bloki na stronie głównej? Chcę pokazać blok statyczny w domu na stronie. Przesłaniam module_cms i dodaję ten kod do cms_index-index, ale pokazuje on tylko ostatni blok

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

Jak wyświetlić wszystkie bloki?

Użytkownik0434
źródło
Możesz ustawić za pomocą strony, a także pliku układu. Za pomocą strony można ustawić dowolne miejsce na stronie głównej, a jego zarządzanie jest łatwe w porównaniu do pliku układu.
Rakesh Jesadiya,
strona cms? Rakesh
User0434
Tak, używając strony cms, wywołaj blok wewnątrz strony cms
Rakesh Jesadiya,
jak wywołać stronę cms na stronie głównej .. czy możesz podać dowolny przykład
User0434
jak wyświetlić go na stronie głównej
User0434

Odpowiedzi:

9

Trzymaj poniżej XML w pliku cms_index_index.xml i zamelduj się z przodu,

Musisz zachować to samo block_identifierdla obu bloków statycznych.

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>

Zamień blok 1 i blok 2 na swój statyczny identyfikator bloku w powyższym kodzie XML.

Rakesh Jesadiya
źródło
nic się nie pokazuje
User0434,
czy zmieniłeś nazwę tak samo jak powyżej i czy utworzyłeś blok 1 i blok 2?
Rakesh Jesadiya
zmienione, ale się nie wyświetla
User0434,
ok, mam to działa
User0434
jeśli dodam kolejny blok, to
User0434
21

Możesz to zrobić na 2 sposoby.

Ze strony cms dodaj blok do hołdu:

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

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

Mam nadzieję, że to ci pomoże

Kul
źródło
który plik xml ..Kul
User0434
@Nadh cms_index_index.xmlmożna go znaleźć w sekcji widoku modułów cms
Kul
potrzebujesz pominąć ten moduł?
User0434,
Jeśli nie masz tego modułu w swoim motywie, możesz go skopiować, w Vendor/magento/przeciwnym razie nie musisz go zastępować
Kul
nie działa
User0434
3

Utwórz blok

  1. Przejdź do panelu administracyjnego Magento Store i przejdź do karty Treść w lewym rogu strony. Następnie kliknij opcję Bloki .

  2. Następnie kliknij Dodaj nowy blok .

  3. Następnie dodaj szczegóły bloku -> Wpisz tytuł bloku (tytuł bloku) i identyfikator bloku (identyfikator bloku).

  4. Ustaw identyfikator bloku = Test_demo i dodaj trochę tekstu w sekcji treści .

  5. Teraz wystarczy kliknąć Zapisz .

Dodaj blok do strony głównej

  1. Przejdź do panelu administracyjnego sklepu Magento, przejdź do karty Treść w lewym rogu strony, a następnie kliknij opcję Strona.

  2. Kliknij Edytuj na stronie głównej .

  3. Przejdź do sekcji zawartości i dodaj krótki blok blokowy : {{block class="Magento\Cms\Block\Block" block_id="Demo_Test"}}

  4. Kliknij Zapisz

Syed Muneeb Ul Hasan
źródło
musisz dodać adres URL jako dom?
User0434,
O którym adresie URL mówisz?
Syed Muneeb Ul Hasan
1

Najlepszym sposobem jest przejście do pliku układu i skopiowanie opisu bloku

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

i zastąp go drugim wspornikiem tak będzie

{{block class="Itheavens\Fanpage\Block\Index\Index" name="index.index" template="Itheavens_Fanpage::index/index.phtml"}}
zahid hasan
źródło
0

identyfikator_bloku

Dodaj plik default.xml w folderze Magento_theme, który jest umieszczony pod aktualnie zastosowanym motywem.

Jagriti Joshi
źródło