【问题标题】:Magento: Related products on order successMagento:订单成功的相关产品
【发布时间】:2013-01-29 22:00:16
【问题描述】:

期望的结果:

在订单成功页面上,我想显示与用户购买的产品相关的产品。

到目前为止我做了什么:

  • 包含相关产品的产品属性
  • checkout/success.phtml 中添加了echo $this->getChildHtml('related_products_list');
  • 扩展 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>
    

停止工作的地方

它渲染了我在checkout/success.phtml 中添加的div,但是getChildHtml() 调用是空的。

另外,我使用 Magneto Debug - 布局更新包含我的 XML。

我需要什么帮助

我想了解为什么这不起作用。如果我将&lt;checkout_onepage_success&gt; 替换为&lt;cms_index_index&gt; 我会在主页上获得所需的块(没有getChildHtml()),那么为什么它们会有不同的行为呢?

另外 - 理想情况下我不需要修改 checkout/success.phtml 文件,它应该会自动输出。

我知道我遗漏了一些非常简单的东西,但我不知道是什么。

谢谢。

【问题讨论】:

  • 也许您应该使用“checkout.success”作为参考名称而不是“内容”。
  • getChildHtml() 在您调用一个块时起作用,该块嵌套在您当前的块调用中。
  • @KalpeshMehta:这就是我所缺少的,我的思路与这个想法非常接近:)

标签: php magento magento-layout-xml


【解决方案1】:

我猜,线路有问题

<reference name="content">

这会将您的块设置为内容块的子级。但是,您已将输出添加到 checkout/success.phtml 模板,该模板属于块 checkout.success。我建议您将 xml 更新替换为以下内容

<checkout_onepage_success>
    <reference name="checkout.success">
        <block type="namespace_customersbought/product_list" name="related_products_list"
               template="module/product/related_list.phtml" after="-">
        </block>
    </reference>
</checkout_onepage_success>

【讨论】:

  • 下单成功页面是否可以显示交叉销售?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多