【发布时间】:2018-12-22 01:32:29
【问题描述】:
我希望在 Magento 2 中添加一个 CMS 块。我知道我需要在我的主题文件中编辑 minicart.phtml 以引用 CMS 块,但我终生无法弄清楚我需要编辑什么布局 XML 文件以及我需要在那里添加什么。
【问题讨论】:
我希望在 Magento 2 中添加一个 CMS 块。我知道我需要在我的主题文件中编辑 minicart.phtml 以引用 CMS 块,但我终生无法弄清楚我需要编辑什么布局 XML 文件以及我需要在那里添加什么。
【问题讨论】:
所以我实际上只是想通了这一点,并认为我会分享我是如何做到的。
我将以下文件复制到我的主题文件夹中,如下所示。
发件人: vendor/magento/module-checkout/view/frontend/layout/default.xml
收件人:
app/design/frontend/themeprovider/themename/Magento_Checkout/layout/default.xml
我在 magento 管理面板中创建了一个名为 minicart message 的 CMS 块,标识符为 minicart_message。
我将代码添加到 default.xml 文件的下面一行
<block class="Magento\Checkout\Block\Cart\Sidebar" name="minicart" as="minicart" after="logo" template="Magento_Checkout::cart/minicart.phtml">
这是我添加的代码
<block class="Magento\Cms\Block\Block" name="minicart_message">
<arguments>
<argument name="minicart_message" xsi:type="string">minicart_message</argument>
</arguments>
</block>
然后我在我的主题 app/design/frontend/themeprovider/themename/Magento_Checkout/templates/cart/ 中编辑了我的 mini_cart.phtml
这是我添加到我希望自定义 CMS 块显示位置的代码。
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('minicart_message')->toHtml();?>
希望能帮助其他试图解决这个问题的人。
【讨论】: