我正在尝试做一些非常简单的事情 - 从订单中获取商品。Magento 1.7 似乎为此提供了三个功能。
- getAllItems() :这会将所有项目返回两次。返回的项目是简单类型的(不可配置)
- getItemsCollection() :同上
- getAllVisibleItems() :同上
我在其他地方读到的许多答案都指出这个问题是由“父”和“子”产品引起的,但我的数据库中没有。我检查了定义父/子关系的表,它们都是空的。
这是我正在运行的代码:
$order = Mage::getModel("sales/order")->load($order_id, 'increment_id'); //load order by order id
$ordered_items = $order->getAllVisibleItems();
//$ordered_items = $order->getAllItems();
//$ordered_items = $order->getItemsCollection();
foreach($ordered_items as $item)
{
if($this->debug)
{
echo $item->getItemId()."</br>";
echo $item->getProductId()."</br>";
echo $item->getSku()."</br>";
echo $item->getQtyOrdered()."</br>";
echo $item->getName()."</br>";
}
echo("*************************************************</br>");
}
And the output is
6
934
1003
1.0000
ProductA
*************************************************
6
934
1003
1.0000
ProductA
*************************************************
如您所见,输出的第一个数字是实际的 entity_id - 所以我得到的是同一项目的真正重复?