magento2 如何给页面添加一个block

发布于 2022-09-05 03:54:58 字数 173 浏览 11 评论 0

图片描述

在magento2首页,我图中红线框部分添加一个大标题以及4篇带图片的文章

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦行七里 2022-09-12 03:54:58

要修改magento2的布局需要有LAYOUT的基础知识
http://devdocs.magento.com/gu...

magento2每个页面都有多个container,你可以理解为空槽,它们都有固定位置,固定的前后次序。而block是放在container上的,你想在页面放一个block,要先搞明白三件事:

  1. 放在什么页面上

  2. 放在什么位置(container)上

  3. 放什么样的block

例如我想放一个静态内容BLOCK在首页,先要在后台建一个CMS block,它们的ID是ad。按照官方文档,我需要建一个module,并按页面名来命名这个LAYOUT。首页一般是cms_index_index,所以这个LAYOUT应该是:<module>/view/frontend/layout/cms_index_index.xml

因为我需要显示CMS block,所以我的BLOCK代码应该是这样的:

<block class="Magento\Cms\Block\Block" name="homepage_ad">
    <arguments>
        <argument name="block_id" xsi:type="string">ad</argument>
    </arguments>
</block>

magento2的default theme已经有固定的container,可见:https://segmentfault.com/a/11...
要把BLOCK加到指定的container,例如sidebar.additional,应该这样写:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="sidebar.additional">
            <block class="Magento\Cms\Block\Block" name="homepage_ad">
                <arguments>
                    <argument name="block_id" xsi:type="string">ad</argument>
                </arguments>
            </block>
        </referenceContainer>
    </body>
</page>

以上就是加一个BLOCK简单的过程。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文