2011-01-17 9 views
-1

Ich schrieb eine Funktion in shipping.php. Ich möchte die Menge von jedem Produkt im Warenkorb erhalten. Ich benutze $item->getProduct()->getQty, aber das funktioniert nicht. Gibt es eine andere Methode?

+2

Geben Sie den vollständigen relevanten Code ein. –

Antwort

5

Für zukünftige Leser: schauen Sie in den relevanten Quellcode, z. B. app/code/core/Mage/Sales/Model/Order/, um die genaue API zu finden.

In diesem Fall ist der Code, den Sie suchen, wahrscheinlich $item->getQtyOrdered(). Ich bin mir nicht sicher, auf welche Sie sich oben beziehen.

+0

$ item-> getQty() arbeitete bis zur Version .. um, 1..5; aber es war einfach eine Bequemlichkeitsfunktion und die bessere Praxis war schon immer, $ item-> getQtyOrdered() für Artikel in einem Angebot, $ item-> getQtyShipped() für Artikel zu verwenden, die versendet wurden, und so weiter ... –

+0

Wenn Sie hier angekommen sind und feststellen, dass es sich um eine Magento 1.9-Lösung handelt und Sie Pech haben, auf Magento 2 zu sein, versuchen Sie 'app/code/Magento/Sales/Model/Order/Item.php'. –

2
$cart = Mage::getModel('checkout/cart')->getQuote(); 
      $result = array(); 
      $i = 0; 
      foreach ($cart->getAllItems() as $item) { 
       $result[$i]['id'] = $item->getProduct()->getId(); 
       $result[$i]['name'] = $item->getName(); 
       $result[$i]['sku'] = $item->getSku(); 
       $result[$i]['price'] = $item->getPrice(); 
       $result[$i]['qty'] = $item->getQty(); 
       $i++; 
      } 
      echo "<pre>"; 
      print_r($result); 

Versuchen Sie es.

können Sie

$item->getId(); 

verwenden zu dem Warenkorb Produkt-ID zu erhalten.

$item->getProduct()->getQty; wird mit NULL zurückgegeben;

Verwandte Themen