检查购物车是否有任何分组产品

时间:2016-06-21 14:47:16

标签: magento

在Magento中有任何方法可以检查购物车或报价对象是否已将产品分组 要么 我还可以询问购物车中添加的商品是否属于Grouped产品。

无论如何都要通过代码来测试它。

4 个答案:

答案 0 :(得分:0)

我不知道这是最好还是没有,但您可以使用以下代码:

$groupedParentsIds = Mage::getResourceSingleton('catalog/product_link')
                   ->getParentIdsByChild(enter id of product in cart here, Mage_Catalog_Model_Product_Link::LINK_TYPE_GROUPED);

如果您输入的Id包含父项,则该项目是分组产品的一部分。

您可以检查购物车中的每件商品。

答案 1 :(得分:0)

$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item){
    if($item->getProduct()->getTypeId()=="bundle")
        echo "This is a bundle product";
    if($item->getProduct()->getTypeId()=="grouped")
        echo "This is a grouped product";
    if($item->getProduct()->getTypeId()=="configurable")
        echo "This is a configurable product";
    if($item->getProduct()->getTypeId()=="virtual")
        echo "This is a virtual product";
    if($item->getProduct()->getTypeId()=="simple")
        echo "This is a simple product";
    if($item->getProduct()->getTypeId()=="downloadable")
        echo "This is a downloadable product";
    if($item->getProduct()->getTypeId()=="giftcard") //in enterprise
        echo "This is a giftcard product";

}

您还可以设置观察者来观看checkout_cart_add_product_complete事件

答案 2 :(得分:0)

在Grouped产品中有两部分

母产品

儿童用品

在购物车中,我们只能添加儿童产品。因此,您必须使用以下代码检查购物车是否包含任何组产品。

 Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($productId);

答案 3 :(得分:0)

您可以使用以下代码查看购物车是否包含任何分组产品:

$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item){
    $productId = $item->getProduct()->getId();
    $ids = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($productId);
    if(isset($ids) && !empty($ids))    
    {
        echo "This is a grouped product";
    }
}