Magento阻止 - 仍然没有得到它

时间:2012-09-20 18:54:20

标签: magento block

我有一个定制模板块(phtml),定义如下:

<block type="catalog/product" name="a.unique.name" template="dir/dir/customlist.phtml"/>

在此块中的CMS主页中定义

<reference name="left">

但是,如果我将其移动到标题栏,则不会出现

<reference name="header">

我在这里缺少什么?

** ----另外-----

我按照D. Sloof的建议尝试了这个,但它不起作用。 (由于我的错误行为而不是他的解释,我怀疑更多。)

我添加了getChildHtml(&#39; customlist&#39;); ?&GT;到

mytheme\template\page\html\header.phtml  

在div&#34; top-col-1&#34;

之下
   <div class="wrapper">
     <div class="top-col-1">        
        <?php echo $this->getChildHtml('customlist'); ?> 

其中&#34; customlist&#34;可以在

中找到
mytheme/template/dir/dir/customlist.phtml

我做错了什么?

2 个答案:

答案 0 :(得分:2)

得到它......

在xml文件中阻止名称​​ a.unique.name

<block type="catalog/product" name="a.unique.name" template="dir/dir/customlist.phtml"/>

必须与mytheme \ template \ page \ html \ header.phtml

中调用的内容相匹配
<?php echo $this->getChildHtml('a.unique.name'); ?> 

答案 1 :(得分:0)

header块的类型为Mage_Page_Block_Html_Header,不会自动呈现子块。您可以查看模板文件page/html/header.phtml如何检索子块html。

你基本上有两个选择:

  • 在标题模板中添加您自己的getChildHtml调用(通过将其复制到您自己的主题),或者;
  • 将您的块放入将自动呈现子块的容器中。 left块的类型为Mage_Core_Block_Text_List,它将执行此操作。名为header的{​​{1}}块中有一个类似的块top.container,它也会执行此操作:您可以引用此块。