我想在新行中添加子产品,如果它已经存在于购物车中,我可以使用以下代码检查它是否存在但是如何使用新行添加该产品
$productId = 1;
$quote = Mage::getSingleton('checkout/session')->getQuote();
if (! $quote->hasProductId($productId)) {
// Product is not in the shopping cart so
// go head and show the popup.
}
答案 0 :(得分:0)
如果您不想使用自定义选项,则无法在购物车中区分您的产品。因此,您需要重载 Mage_Sales_Model_Quote_Item 类并重写 representProduct 函数。
Create a custom module,overload sales/quote_item model并重写representFunction,如下所示:
/**
* Check product representation in item
*
* @param Mage_Catalog_Model_Product $product
* @return bool
*/
public function representProduct($product)
{
//You can check here if the product is the one that you need to add as a new line or not.
if(/* some checks with $product */) {
return false;
}
//run parent function as default
return parent::representProduct($product);
}
因此,添加到购物车的任何产品都不会代表另一种产品 - 已经在购物车中 - 并被评估为新产品。