dpno17028 2014-08-01 10:49
浏览 12
已采纳

排除购物车上免费产品的重量

I'm trying to caltulate the total wight of products in cart and here is my code:

//If we have no weight, try to calculate this
            $weight = 0;
            if ($quote->getShippingAddress()->getWeight() == null ||
                $quote->getShippingAddress()->getWeight() == 0 ||
                $quote->getShippingAddress()->getWeight() == ''){

                foreach ($quote->getAllItems() as $item){
                    $itemWeight = $item->getWeight();
                    if ($itemWeight != null){
                        $weight += $itemWeight;
                    }

Now the problem is I have free/bonus products in the cart and this free product has weight. The above code just add the weight of the free product as well. I want to know is there a way I can exclude the weight of the free product in my cart. Or how can I filter the free/bonus products on magento using the Singleton.

  • 写回答

2条回答 默认 最新

  • dongqingcheng2903 2014-08-01 12:17
    关注
    foreach ($quote->getAllItems() as $item){
        $itemWeight = $item->getWeight();
        if ($itemWeight != null && $item->getPrice() != 0){ //if the weight is not null and the price is not 0 (no free product) add the weight to the total.
            $weight += $itemWeight;
        }
    ....
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?