magento $ order-> getAllItems()返回两次相同的项目

Inf*_*rid 8 php magento observer-pattern

我正在写一个观察员,检查订单中的每个项目,在某些时候我得到了这些项目

  foreach($order->getAllItems() as $item){
    //do something
    echo $item->getSku();
  }

  //output
  sku-first
  sku-first
  sku-second
  sku-second
Run Code Online (Sandbox Code Playgroud)

但是我当然得到两个相同的项目同样的sku,那里的捕获量是多少?也许在一些配置文件?

Jos*_*ton 15

我相信你想用getAllVisibleItems()而不是getAllItems().

我相信getAllItems可以配置其相关的简单产品.


小智 9

该选项getAllVisibleItems不起作用

你必须使用这段代码

$_items = $order->getItemsCollection();

 foreach ($_items as $item) {
    if ($item->getParentItem()) continue;
    //do something
    echo $item->getSku();
}
Run Code Online (Sandbox Code Playgroud)