我已经修改了local.xml的<cms_index_index>
标记,以便在主页加载时理想地从数据库中提取静态块。但是,没有拉出静态块。我创建了一个带有标识符mobile_home的静态块,它已启用。我也试过现有的工作静态块无济于事。怎么了?什么可能使这个工作?
<cms_index_index>
<block type="cms/block" name="cms_page"><action method="setBlockId"><block_id>mobile_home</block_id></action></block>
</cms_index_index>
编辑:添加引用后,它仍然不呈现:
<cms_index_index>
<reference name="head">
<block type="cms/block" name="cms_page"><action method="setBlockId"><block_id>mobile_home</block_id></action></block>
</reference>
</cms_index_index>
答案 0 :(得分:2)
正在实例化块(假设正在合并此布局XML),但需要将其添加到渲染流中。快速测试是通过output
属性获取块并使其成为输出块:
<cms_index_index>
<block type="cms/block" name="cms_page" output="toHtml">
<action method="setBlockId">
<block_id>mobile_home</block_id>
</action>
</block>
</cms_index_index>
然后,您可以将其添加到无模板块,例如content
:
<cms_index_index>
<!-- or use reference syntax, up to you -->
<block type="cms/block" name="cms_page" parent="content">
<action method="setBlockId">
<block_id>mobile_home</block_id>
</action>
</block>
</cms_index_index>
您还可以进入CMS页面的内容主体并使用块指令添加静态块(或通过小部件界面插入):
{{block type="cms/block" block_id="mobile_home"}}
或
{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="5"}}