【发布时间】:2016-08-13 07:44:43
【问题描述】:
我想在我的网站最顶部提供优惠按钮。为此,我想创建 phtml 文件并想在 magento2 布局 xml 文件中调用它。请告诉我如何在 magento2 中实现这一点?
【问题讨论】:
标签: magento2
我想在我的网站最顶部提供优惠按钮。为此,我想创建 phtml 文件并想在 magento2 布局 xml 文件中调用它。请告诉我如何在 magento2 中实现这一点?
【问题讨论】:
标签: magento2
Magento 2 在 XML 文件中调用“cms 块”:
<block class="Magento\Cms\Block\Block" name="block_name">
<arguments>
<argument name="block_id" xsi:type="string">block_identifier</argument>
</arguments>
</block>
Magento 2 在 Phtml 文件中调用“cms 块”:
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
Magento 2 在 CMS 内容中调用“cms 块”:
{{block class="Magento\\Cms\\Block\\Block" block_id="block_identifier"}}
一切正常……
【讨论】:
试试这个:所有布局和模板文件都应该放在 View 文件夹中
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/layout_generic.xsd">
<container name="root" label="Root">
<block class="Namespace\Module\Block\Adminhtml\Edit\Tab\View\XYZ" name="module.edit.tab.xyz" template="Namespace_Module::/template_path/abc.phtml"/>
</container>
</layout>
【讨论】:
您只需替换为您的区块标识符...
这是我的块标识符 = "product_view_right_sidebar" == “你的块标识符”
<referenceContainer name="sidebar.additional">
<block class="Magento\Cms\Block\Block" name="product_view_right_sidebar">
<arguments>
<argument name="block_id" xsi:type="string">product_view_right_sidebar</argument>
</arguments>
</block>
</referenceContainer>
【讨论】: