Magento自定义静态块不存在于模板中

时间:2014-07-15 21:09:15

标签: xml magento magento-1.9.1

我是Magento Newbie。

header 部分下的 local.xml 中,定义了以下块:

<reference name="header">
    <block type="cms/block" name="flatshop_header_support">
        <action method="setBlockId"><block_id>flatshop_header_support</block_id></action>
    </block>
    <block type="cms/block" name="flatshop_header_2blocks">
        <action method="setBlockId"><block_id>flatshop_header_2blocks</block_id></action>
    </block>
header.phml 中的

都被称为:

<?php echo $this->getChildHtml('flatshop_header_support') ?>
<?php echo $this->getChildHtml('flatshop_header_2blocks') ?>

on / admin / cms_block / 静态阻止 “flatshop_header_support”标识符已定义并填充了“flatshop_header_2blocks”等内容(这是运作良好),但回报为string(0) ""

如何在标题部分打印 flatshop_header_support 块?

Magento v1.9.1模板:Flathop

1 个答案:

答案 0 :(得分:2)

我可以建议您通过3种不同方式解决您的问题。

我强烈建议我的号码(3),这是最好的方式,不会推荐数字(2)。

1)只需使用 header.phtml 文件中的以下代码,而不是用于调用phtml文件中静态块的代码

    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('flatshop_header_support')->toHtml(); ?>
    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('flatshop_header_2blocks')->toHtml(); ?>

2)使用您的&#34;参考块&#34;而不是 local.xml ;来自 local.xml 的代码并将其粘贴到 page.xml 里面

    <block type="page/html_header" name="header" as="header">---</block>

它应该也可以使用

3)您使用的脚本没有问题,我唯一可以说的是,您的 local.xml 未正确设置,这就是为什么它没有被执行,寻找简单的细节像xml标签或与我用于 local.xml

的代码比较
    <?xml version="1.0" encoding="UTF-8"?>
    <layout version="0.1.0">
      <default>
          <reference name="header">
             <block type="cms/block" name="flatshop_header_support">
                <action method="setBlockId"><block_id>flatshop_header_support</block_id></action>
            </block>
            <block type="cms/block" name="flatshop_header_2blocks">
                <action method="setBlockId"><block_id>flatshop_header_2blocks</block_id></action>
            </block>
           </reference>
      </default>
    </layout> 

希望我的回答能解决你的问题。