0

我是 Magento 新手。

标头部分下的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') ?>

在带有“flatshop_header_support”标识符的/admin/cms_block/静态块上定义并填充了诸如“flatshop_header_2blocks”之类的内容(这很好用),但返回的是string(0) ""

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

Magento v1.9.1 模板:Flathop

4

1 回答 1

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)而不是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> 

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

于 2014-07-16T02:02:00.533 回答