结帐车中相关(推荐)产品的Magento列表

时间:2010-10-01 17:17:13

标签: php magento

我想在结帐购物车页面中列出推荐商品列表,我试图使用layaout / catalog.xml中的相关产品块,但它适用于产品视图页面中的单个产品,并且在结账购物车页面中可以有多个产品,所以,如果能做到这一点,我怎么能做到这一点?

2 个答案:

答案 0 :(得分:3)

要实现您的需求,只需添加“交叉销售”产品关系即可实现此目标。

阅读:http://www.magentocommerce.com/knowledge-base/entry/how-do-i-set-up-product-relations/

答案 1 :(得分:0)

如果您查看Mage_Catalog_Block_Product_List_Related::_prepareData方法,您会看到它使用以下代码加上一些内务管理:

    $this->_itemCollection = $product->getRelatedProductCollection()
       ...

您可以创建自己的Block,从购物车中抓取产品,并循环使用相同的代码。类似的东西:

$cartHelper = Mage::helper('checkout/cart');
$cart = $cartHelper->getCart();
$cartItems = $cart->getQuote()->getAllItems();
$relatedCollection = new Varien_Data_Collection();
foreach ($cartItems as $cartItem) {
  $tempColl = $cartItem->getRelatedProductCollection();
    ... insert housekeeping code from Related block
    ... add $tempColl to $relatedCollection
}

您可能需要对集合进行重复数据删除(toArray()然后array_unique),因为购物车中的商品可能具有相同的相关产品,但这至少会让您进入游戏。

HTH, JD