Php 类别视图上的getChildHtml

Php 类别视图上的getChildHtml,php,magento,Php,Magento,我试图在Magento商店的分类页面上的主产品列表下放置一个包含特色项目的自定义文件 我已编辑catalog.xml以包括: <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml"> <block type="catalog/product_list" name="product_list" template="

我试图在Magento商店的分类页面上的主产品列表下放置一个包含特色项目的自定义文件

我已编辑catalog.xml以包括:

    <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
        <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
        ...
        </block>
        <block type="catalog/product" name="featuredcat" as="featuredcat" template="customphp/featured-cat.phtml"/>
    </block>
到我的catalog/category/view.phtml文件的底部。但是什么也没有。我可以发誓这是正确的。有人能解释我做错了什么吗


干杯。

您提供的布局xml将
特性cat
块直接附加到
产品列表
块。因此,您必须从
catalog/product/list.phtml
中调用
getChildHtml
,而不是
catalog/category/view.phtml

因此,您可以如上所述将
getChildHtml
调用移动到正确的模板,或者将
featuredcat
阻塞一个级别:

<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
    <block type="catalog/product" name="featuredcat" as="featuredcat" template="customphp/featured-cat.phtml"/>
    <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
    ...
    </block>
</block>

...
或者您可以保持布局xml不变,并使用GetChildHTML:)-但我确信更改布局是更好的选择-

<?php echo $this->getChildChildHtml('product_list', 'featuredcat') ?>

您提供的布局xml具有直接附加到
产品列表
块的
featuredcat
块。因此,您必须从
catalog/product/list.phtml
中调用
getChildHtml
,而不是
catalog/category/view.phtml

因此,您可以如上所述将
getChildHtml
调用移动到正确的模板,或者将
featuredcat
阻塞一个级别:

<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
    <block type="catalog/product" name="featuredcat" as="featuredcat" template="customphp/featured-cat.phtml"/>
    <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
    ...
    </block>
</block>

...
或者您可以保持布局xml不变,并使用GetChildHTML:)-但我确信更改布局是更好的选择-

<?php echo $this->getChildChildHtml('product_list', 'featuredcat') ?>


只是一个猜测(因此是注释而不是答案!)-该块类型为“catalog/product”……尝试根据其他预先存在的块将其更改为“catalog/product\u list”。哎呀!不,那是我不好骂的。它位于关闭块标记之后,在view.phtml块内。抱歉。只是一个猜测(因此是注释而不是答案!)-该块类型为“catalog/product”……请尝试根据其他预先存在的块将其更改为“catalog/product_list”。哎呀!不,那是我不好骂的。它位于关闭块标记之后,在view.phtml块内。抱歉。哦,正如上面解释的,不,那只是我对粗口的不好。它位于关闭块标记之后,在view.phtml块内。抱歉。如果嵌套正确,您发布的布局xml将非常有效。可能正如McNab指出的,您使用的模板取决于目录/产品列表中的块类型-您是否检查了日志以查看是否有任何错误显示?嘿,Drew,感谢您的帮助。我不敢相信,但这是因为缓存打开了。我是个白痴——这种事只有在星期天工作时才会发生!哈-没问题。Cache不时地捕捉到每个人:)哎呀,正如上面解释的,不,这只是我不好的缩写。它位于关闭块标记之后,在view.phtml块内。抱歉。如果嵌套正确,您发布的布局xml将非常有效。可能正如McNab指出的,您使用的模板取决于目录/产品列表中的块类型-您是否检查了日志以查看是否有任何错误显示?嘿,Drew,感谢您的帮助。我不敢相信,但这是因为缓存打开了。我是个白痴——这种事只有在星期天工作时才会发生!哈-没问题。缓存会不时捕获所有人:)