사용자 카트에있는 제품의 속성 값을 가져 오는 중 문제가 발생합니다.Magento : 카트의 마지막 항목에 대한 속성 값을 가져올 수 없습니다.
나는 다음과 같은 코드가 있습니다
umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('checkout/session');
$cart = Mage::helper('checkout/cart')->getCart()->getItemsCount();
foreach ($session->getQuote()->getAllItems() as $item) {
$_product = Mage::getModel('catalog/product')->load($item->getId());
$attributeValue = $_product->getAttributeText('availability');
echo $attributeValue;
}
을 그리고 그것은 매우 마지막 하나를 제외하고는 카트에있는 모든 제품에 대해 잘 작동합니다. 예를 들어, "Backorder", "Preorder", "Out of Stock"값 중 하나만 가질 수있는 "가용성"속성 값을 얻으려고합니다. 장바구니에 3 개의 항목이있는 경우 첫 번째 항목에 대한 올바른 값을 얻을 수 있지만 마지막 항목에 대해서는 "아니오"만 표시합니다.
모든 속성이 올바르게 설정되었는지 확인하기 위해 각 항목을 두 번 확인했으며 장바구니의 항목 수에 관계없이 모든 항목을 확인했습니다.
잘하면 그것은 내 바보 같은 실수입니다.
도움을 주시면 감사하겠습니다.
감사합니다.
해결 :
가 변경 :
$_product = Mage::getModel('catalog/product')->load($item->getId());
문제 수정
$_product = Mage::getModel('catalog/product')->load($item->getProductId());
에.
속성 대신'$ _product-> getId()'를 출력하면 올바른 ID를 얻을 수 있습니까? –
아, 그게 다야. 해당 비트를 $ item-> getProductId()로 변경하면 올바른 제품 ID가 제공되고 올바른 속성이 인쇄됩니다. – Griffin
확인. 나는 그것을 답으로 추가 할 것이다. –