Получить количество товара в корзине для каждого отдельного товара [закрыто]


    $cart = Mage::getModel('checkout/cart')->getQuote();
    $cartTotal =$cart->getGrandTotal();
    $cartItems = $cart->getAllItems();
            foreach ($cartItems as $item) 
            {
                $_product = $item->getProduct();
                $id=$_product->getId();
                $qty = $_product->getQty(); //get product Qty
                $image=$_product->getImageUrl();
            }
Author: Vaibhav Ahalpara, 2015-01-16

1 answers

Вайбхав, пожалуйста, используйте getAllVisibleItems вместо этого getAllItems

Чтобы не получить количество товара в корзине, вам нужно получить его с помощью getQty()

$cart = Mage::getModel('checkout/cart')->getQuote();
$cartTotal =$cart->getGrandTotal();
$cartItems = $cart->getAllVisibleItems();
foreach ($cartItems as $item) 
{
    $_product = $item->getProduct();
    $id=$_product->getId();
    $qty =  $item->getQty(); //get item qty

}

Для получения current product qty вам нужно загрузить product model by sku, а затем получить inventory из стокового объекта

$_producObject = Mage::getModel('catalog/product')->loadByAttribute('sku',$item->getSku());
$stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_producObject);
echo "<pre>"; 
print_r($stock->getData()); 
echo "</pre>";
 3
Author: Amit Bera, 2015-01-16 06:29:05