我想获取Magento订单中已运送的物品数量。例如,一个人订购10件商品。 4已发货。在这种情况下,我想得到4号,然后与第二批装运中的其余6件物品合并。检查4 + 6是否等于项目总数10,如果第二个装运批次全部发货了6,则将订单状态更改为“完成”。如果没有,请更改为“分批装运”。

最佳答案

$order = Mage::getModel('sales/order')->load($orderId);
$total_ordered_items = $order->getData('total_qty_ordered');
$num_of_shipped_items = 0;

foreach ($order->getAllVisibleItems() as $item){
   //$item->getQtyOrdered() // Number of item ordered
   $num_of_shipped_items += $item->getQtyShipped();
   //$item->getQtyInvoiced()
}

if($num_of_shipped_items == $total_ordered_items){
    // set status to complete
}
else{
    // Partial
}

关于php - 如何获取Magento订单中已发货的物品数量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22079929/

10-10 19:03