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),2013年

cms页?Rakesh
User0434 '16

是的,使用cms页面,在cms页面内调用块
Rakesh Jesadiya

如何在首页中调用cms页..你能举任何例子

如何在主页上显示它
User0434'6

Answers:


9

在您的cms_index_index.xml文件中的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代码中,用您的静态块ID替换block1和block2。


什么都没显示
User0434 '16

您是否已更改与上述相同的名称,并创建了block1和block2?
Rakesh Jesadiya '16

已更改但未显示
User0434 '16

好的,我知道了它的工作
原理

如果我添加另一个块,那么
User0434 '16

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

@Nadh,cms_index_index.xml您可以在module-cms的视图部分中找到它
Kul,

需要覆盖那个模块?
User0434

如果你没有在你的主题此模块可以从复制Vendor/magento/,否则不需要重写
库尔

它不起作用
User0434 '16

3

创建块

  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

您正在谈论哪个URL?
Syed Muneeb Ul Hasan 2016年

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.