如何在 Magento 2 中显示静态块?
How to show the static blocks in Magento 2?
我正在创建一个 magento 2 主题。
我想在cms主页显示自定义块
我想知道如何在 phtml 和 xml 布局、cms 页面内容中显示静态块
我该怎么办?
请尝试使用以下代码。
在 Phtml 文件中:
<?php echo $this->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
在 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 文件在 Magento_Cms
文件夹中 cms_index_index.xml
(这应该放在您自己的 package/theme 文件夹中文件夹,不在 Magento/blank
或 app/code
中)。
只需将上面的 xml 代码放入该文件的 <body>
标记内,根据缓存设置,您可能需要清除它们才能看到调整。
使用以下代码在CMS页面显示静态块-
{{block class="Magento\Cms\Block\Block" block_id="block_identifier"}}
使用以下代码在phtml文件中显示静态块-
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
none 这些工作用于通过 default.xml 放置静态块,请提交适当的示例。在 2.0.7 中,当我在管理中创建名为 socialimg / socialimg 的静态块作为块标识符后将以下内容应用于我的主题时,没有任何显示。甚至在记忆中。甚至没有搜索 exception.log 或 system.log
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="header.panel">
<block class="Magento\Framework\View\Element\Html\Links" name="header.links">
<arguments>
<argument name="css_class" xsi:type="string">header links</argument>
</arguments>
</block>
</referenceContainer>
<referenceBlock name="socialimg1">
<block class="Magento\Cms\Block\Block" name="socialimg">
<arguments>
<argument name="block_id" xsi:type="string">socialimg</argument>
</arguments>
</block>
</referenceBlock>
<referenceBlock name="logo">
<arguments>
<argument name="logo_img_width" xsi:type="number">148</argument>
<argument name="logo_img_height" xsi:type="number">43</argument>
</arguments>
</referenceBlock>
<referenceContainer name="footer">
<block class="Magento\Store\Block\Switcher" name="store_switcher" as="store_switcher" after="footer_links" template="switch/stores.phtml"/>
</referenceContainer>
<referenceBlock name="report.bugs" remove="true"/>
<move element="copyright" destination="before.body.end"/>
</body>
</page>
我正在创建一个 magento 2 主题。 我想在cms主页显示自定义块
我想知道如何在 phtml 和 xml 布局、cms 页面内容中显示静态块
我该怎么办?
请尝试使用以下代码。
在 Phtml 文件中:
<?php echo $this->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
在 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 文件在 Magento_Cms
文件夹中 cms_index_index.xml
(这应该放在您自己的 package/theme 文件夹中文件夹,不在 Magento/blank
或 app/code
中)。
只需将上面的 xml 代码放入该文件的 <body>
标记内,根据缓存设置,您可能需要清除它们才能看到调整。
使用以下代码在CMS页面显示静态块-
{{block class="Magento\Cms\Block\Block" block_id="block_identifier"}}
使用以下代码在phtml文件中显示静态块-
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
none 这些工作用于通过 default.xml 放置静态块,请提交适当的示例。在 2.0.7 中,当我在管理中创建名为 socialimg / socialimg 的静态块作为块标识符后将以下内容应用于我的主题时,没有任何显示。甚至在记忆中。甚至没有搜索 exception.log 或 system.log
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="header.panel">
<block class="Magento\Framework\View\Element\Html\Links" name="header.links">
<arguments>
<argument name="css_class" xsi:type="string">header links</argument>
</arguments>
</block>
</referenceContainer>
<referenceBlock name="socialimg1">
<block class="Magento\Cms\Block\Block" name="socialimg">
<arguments>
<argument name="block_id" xsi:type="string">socialimg</argument>
</arguments>
</block>
</referenceBlock>
<referenceBlock name="logo">
<arguments>
<argument name="logo_img_width" xsi:type="number">148</argument>
<argument name="logo_img_height" xsi:type="number">43</argument>
</arguments>
</referenceBlock>
<referenceContainer name="footer">
<block class="Magento\Store\Block\Switcher" name="store_switcher" as="store_switcher" after="footer_links" template="switch/stores.phtml"/>
</referenceContainer>
<referenceBlock name="report.bugs" remove="true"/>
<move element="copyright" destination="before.body.end"/>
</body>
</page>