我正在写一个观察员,检查订单中的每个项目,在某些时候我得到了项目
foreach($order->getAllItems() as $item){
//do something
echo $item->getSku();
}
//output
sku-first
sku-first
sku-second
sku-second
但是我当然得到两个相同的项目同样的sku当然是捕获?也许在一些配置文件中?
答案 0 :(得分:14)
我相信你想使用getAllVisibleItems()
代替getAllItems()
。
我相信getAllItems可以与其相关的简单产品一起配置。
答案 1 :(得分:9)
选项getAllVisibleItems
不起作用
您必须使用此代码
$_items = $order->getItemsCollection();
foreach ($_items as $item) {
if ($item->getParentItem()) continue;
//do something
echo $item->getSku();
}
答案 2 :(得分:2)
如果getAllVisibleItems()
无效,请确保您正确使用
$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
echo $item->getQty();
}