layout xml block里引入的模版为什么不显示?
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>
admin 已回答
来自群里大佬的回复
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换一下即可
admin 已回答