답변:
$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) {
$productName = $item->getProduct()->getName();
$productPrice = $item->getProduct()->getPrice();
}
에 $cart
당신 카트 항목의 모든 모음을 가지고 당신이 제품 ID를 얻으려면, 당신은 foreach 루프를 사용에서 얻을 수있는 이름
다른 해결책을 찾았습니다. 다음 코드는 저에게 효과적입니다.
$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
$productId = $item->getProductId();
// Do something more
}
$item->getProduct()
... magento에서-> load () 사용에 대해 생각할 때마다 나쁜 성능을 기대할 수 있습니다. 옵션하지만 실제로 여기에 해당되지 않습니다 ..
다른 방식으로 작동하는 몇 가지 방법이 있습니다.
$items = Mage::getSingleton('checkout/cart')->getQuote()->getItemsCollection();
현재 견적과 관련된 모든 항목이 있는 견적 품목 컬렉션을 반환합니다 .
$items = Mage::getSingleton('checkout/cart')->getItems();
위의 방법에 대한 바로 가기이지만 따옴표가 없으면 빈 배열을 반환하므로 컬렉션 인스턴스를 가져올 수 없습니다.
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllItems();
항목 콜렉션을로드 한 후 삭제 된 것으로 표시되지 않은 (즉, 현재 요청에서 제거 된) 모든 항목 의 배열 을 리턴합니다.
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllVisibleItems();
로드 항목을 수집, 다음 반환 배열 모든 항목의 삭제 된 것으로 표시되지 않은 및 않는 부모가없는을 (즉, 당신이 번들 구성 제품이 아닌 관련 어린이를위한 아이템을 얻을). 각 배열 항목은 장바구니 페이지의 표시된 행에 해당합니다.
가장 적합한 것을 선택하십시오. 대부분의 경우 마지막 방법이 필요하지만 불행히도 Magento는이 방법을 컬렉션이 아닌 배열로만 제공합니다.
그 주 Mage::getSingleton('checkout/cart')->getQuote()
와 Mage::getSingleton('checkout/session')->getQuote()
교환 할 수 있습니다.
$items =Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
foreach($items as $item) {
echo 'ID: '.$item->getProductId().'<br />';
echo 'Name: '.$item->getName().'<br />';
echo 'Sku: '.$item->getSku().'<br />';
echo 'Quantity: '.$item->getQty().'<br />';
echo 'Price: '.$item->getPrice().'<br />';
echo "<br />";
}
장바구니에 담긴 모든 항목을 가져 오는 가장 좋은 방법