私は本当に簡単なことをしようとしています - 注文からアイテムを取得します。これには、Magento 1.7 が提供する 3 つの機能があるようです。
- getAllItems() : これはすべての項目を 2 回返します。返される項目は単純なタイプです (構成不可)
- getItemsCollection() : 同上
- getAllVisibleItems() : 同上
私が他の場所で読んだ回答の多くは、この問題が「親」製品と「子」製品によって引き起こされていることを示していますが、私の DB にはありません。親子関係を定義するテーブルを確認しましたが、どちらも空です。
これが私が実行しているコードです:
$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 です。つまり、同じアイテムの実際の重複を取得していますか?