Magento2:ホームページに静的ブロックを表示


11

ホームページに静的ブロックを表示する方法。私はページのホームに静的ブロックを表示したいです。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>

すべてのブロックを表示する方法


レイアウトファイルだけでなく、ページを使用して設定できます。Pageを使用すると、ホームページ内のどこにでも設定でき、レイアウトファイルと比較して管理が簡単です。
Rakesh Jesadiya 16

cmsページ?Rakesh
User0434

はい、cmsページを使用して、cmsページ内のブロックを呼び出します
Rakesh Jesadiya

ホームページでcmsページを呼び出す方法..例を挙げてください
User0434

それをホームページに表示する方法
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>

上記のxmlコードで、block1とblock2を静的ブロックIDに置き換えます。


何も表示されない
User0434

上記と同じ名前に変更し、block1とblock2を作成しましたか?
Rakesh Jesadiya 2016

変更されたが表示されない
User0434


次に別のブロックを追加した場合
User0434

19

あなたはそれを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

@Nadh cms_index_index.xmlはmodule-cmsのビューセクションにあります
Kul

そのモジュールをオーバーライドする必要がありますか?
User0434

あなたがからコピーすることができ、あなたのテーマで、このモジュールがない場合はVendor/magento/上書きするためにそれ以外の必要はありません
クル

機能しない
User0434

2

ブロックを作成

  1. 移動し、管理パネルにMagentoのストアとナビゲートのコンテンツページの左上隅からタブ。次に、「ブロック」オプションをクリックします。

  2. 次に、[ 新しいブロックを追加 ] クリックします。

  3. 次に、ブロック詳細を追加します -> ブロックタイトルブロックのタイトル)と ブロック識別子ブロックのID)を入力します。

  4. Block Identifier = Demo_Testを設定し、コンテンツセクションにテキストを追加します。

  5. 次に、[ 保存 ]をクリックします

ホームページにブロックを追加

  1. 移動し、管理パネルにMagentoのストア、ナビゲートのコンテンツページの左上隅からタブと[ページのオプション]をクリックします。

  2. ホームページの [ 編集]をクリックします。

  3. コンテンツセクションに移動し、ブロックショートコードを追加します {{block class="Magento\Cms\Block\Block" block_id="Demo_Test"}}

  4. 保存をクリックします


ホームとしてURLを追加する必要がありますか?
User0434 16

どのURLについて話しているのですか?
Syed Muneeb Ul Hasan

1

最善の方法は、レイアウトファイルに移動し、ブロックの説明をコピーすることです

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

そしてそれを2番目のブラケットで置き換えます

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

0

block_identifier

現在適用されているテーマの下にあるMagento_themeフォルダーの下のdefault.xmlファイルに追加します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.