layout xml block里引入的模版为什么不显示?

2.67K 浏览前端架构layout xml

layout xml block里引入的模版为什么不显示?

来自群里讨论的问题整理


我这个写的有毛病不,为啥前台页面不显示

<container name="home-top-product" label="Home Top product" htmlTag="div" htmlId="homttopad1" htmlClass="ad-home-top">
                <block class="Magento\Cms\Block\Block" name="block_home_top_product" template="Magento_Cms::html/product.phtml"  />
               <!--     <arguments>
                        <argument name="block_id" xsi:type="string">block_home_top_product</argument>
                    </arguments>-->
            </container>

已回答
0

来自群里大佬的回复


Magento\Cms\Block\Block

我们一起来复习一下 这个 cms 功能

复习完,你就知道错在哪里

<referenceContainer name="page.wrapper">
             <block class="Magento\Cms\Block\Block" name="banner_blog" before="header.container">
               <arguments>
                    <argument name="block_id" xsi:type="string">banner_blog</argument>
               </arguments>
           </block>
        </referenceContainer>

Magento\Cms\Block\Block

必须要一个参数 block_id

Magento\Cms\Block\Block 这就是它的正确用法

没有传, 你自己看这段, 会返回空

块的重要类型:

Magento\Framework\View\Element\Text
Magento\Framework\View\Element\Text\ListText
Magento\Framework\View\Element\Messages
Magento\Framework\View\Element\Template

block 有4种

都不一样,平时,用的最多的是 Magento\Framework\View\Element\Template

你若要用模版,就把 class换一下即可

已回答
0