【问题标题】:Magento header block in layout布局中的 Magento 标题块
【发布时间】:2011-11-05 23:33:13
【问题描述】:

我在 magento 中下载了一个自定义模块,它使用引用将块加载到布局中:

<reference name="content">
    <block type="ibanner/content_top" name="ibanner_content_top" template="my_ibanner/content/top.phtml" before="-"/>
    <block type="ibanner/content_bottom" name="ibanner_content_bottom" template="my_ibanner/content/bottom.phtml" after="-"/>
</reference>

此代码运行良好。但是,如果我使用标题引用,则横幅不会显示在页面上,我无法弄清楚为什么......

如果我使用 page_two_columns_left 布局并引用左侧名称布局块,则显示横幅,我无法区分块之间的差异,以使其中一些加载baner而另一些则不会。

如果有人可以帮助我解决这个问题,我会非常感激。

问候。

【问题讨论】:

  • “但是,如果我使用标题引用,则不会显示横幅”不够精确,无法有人回答您的问题。您使用什么代码来实现引号中的内容,以及如何将此代码添加到系统中?
  • 你好艾伦,对不起,如果我没有说清楚。 Ben指出了这个问题。标题块不包含任何加载附加块的指令,因此未加载横幅。我使用的标头块是 magento 使用的默认值。干杯。

标签: magento-1.5 magento


【解决方案1】:

在不同路由中“注入”块的一部分取决于父块。 "content" 和 "left" 是 core/text_list 块 (Mage_Core_Block_Text_List),它们在设计上不使用模板而只是渲染所有子块。但是,如果块使用模板,则必须(应该)采取两个步骤:

  1. 设置父/子关系。同样,在上面的代码中,两个 ibanner 块被声明为“内容”块上的子块
  2. 使用子块所需的渲染指令自定义父块的关联模板,例如&lt;?php echo $this-&gt;getChildHtml("ibanner_content_top") ?&gt;.

请注意,包含空 getChildHtml() 调用的模板文件将呈现所有子块。

【讨论】:

  • 非常感谢您的帮助。我没有意识到你指出的差异。如果我只是添加一个空的 getChildHtml() 块将被加载到标题块中。问候。
  • 没有任何解决方案可以通过 Mage_Core_Block_Abstract 的
猜你喜欢
  • 1970-01-01
  • 2018-08-25
  • 2012-03-08
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
相关资源
最近更新 更多