0

我已经修改了<cms_index_index>local.xml 的标签,以便在主页加载时从数据库中提取一个静态块。但是,没有拉出静态块。我创建了一个标识符为 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>
4

1 回答 1

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"}}
于 2013-06-19T03:19:27.463 回答