【问题标题】:Magento custom Static Block not present in template模板中不存在 Magento 自定义静态块
【发布时间】:2014-07-15 21:09:15
【问题描述】:

我是 Magento 新手。

在 local.xml 的 header 部分下定义了这些块:

<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') ?>

在 /admin/cms_block/ static block 和 "flatshop_header_support" 定义标识符并填充诸如 "flatshop_header_2blocks" 之类的内容(这是运作良好),但回报是string(0) ""

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

Magento v1.9.1 模板:Flathop

【问题讨论】:

    标签: xml magento magento-1.9.1


    【解决方案1】:

    我可以在这里向您建议 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> 
    

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

    【讨论】:

    • 1)、2) 版本运行良好。在 3) 的情况下,只有 encoding="UTF-8" 丢失。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多