我在获取已放置在用户购物车中的产品的属性值时遇到了问题。
我有以下代码:
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;
}
它适用于购物车中的所有产品,除了最后一个产品。例如,我正在尝试获取我创建的“可用性”属性的值,该属性只能具有以下值“缺货”、“预购”、“缺货”之一。如果我的购物车中有 3 件商品,我可以获得前 2 件的正确值,但是对于最后一件商品,它只显示“否”。
我已经仔细检查了每个项目,以确保所有属性都设置正确,并且购物车中的任何数量的项目都会发生这种情况。
希望这只是我的一个愚蠢的错误。
任何帮助,将不胜感激。
谢谢。
解决了:
改变:
$_product = Mage::getModel('catalog/product')->load($item->getId());
到
$_product = Mage::getModel('catalog/product')->load($item->getProductId());
修复问题。