期望的结果:
在订单成功页面上,我想显示与用户购买的产品相关的产品。
到目前为止我做了什么:
- 包含相关产品的产品属性
- 添加
echo $this->getChildHtml('related_products_list');
在checkout/success.phtml
- 扩展 product_list 并设置适当集合的块(注意:这不是重写)
class Namespace_CustomersBought_Block_Product_List extends Mage_Catalog_Block_Product_List {
protected function _construct() {
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
// some more code to get the products I need in $relatedProducts
$this->setCollection($relatedProducts);
}
}
在我
custom.xml
的以下添加(路径正确):<checkout_onepage_success> <reference name="content"> <block type="namespace_customersbought/product_list" name="related_products_list" template="module/product/related_list.phtml" after="-"> </block> </reference> </checkout_onepage_success>
它停止工作的地方
它呈现了我添加的 div checkout/success.phtml
,但getChildHtml()
调用为空。
另外,我使用Magneto Debug
- 并且布局更新包含我的 XML。
我需要什么帮助
我想了解为什么这不起作用。如果我替换<checkout_onepage_success>
为<cms_index_index>
我在主页上获得所需的块(没有getChildHtml()
),那么为什么它们会有不同的行为?
另外 - 理想情况下我不需要修改checkout/success.phtml
文件,它应该自动输出。
我知道我错过了一些非常简单的东西,但我不知道是什么。
谢谢你。