Php Magento 2如何以编程方式添加多个项目以发货订单
我有三个项目在同一顺序,我需要单独装运每个项目。 但是,当我创建一个装运时,它会输入装运中的所有项目,以后我无法添加更多项目Php Magento 2如何以编程方式添加多个项目以发货订单,php,magento2,Php,Magento2,我有三个项目在同一顺序,我需要单独装运每个项目。 但是,当我创建一个装运时,它会输入装运中的所有项目,以后我无法添加更多项目 // Initialize the order shipment object $convertOrder = $objectManager->create('Magento\Sales\Model\Convert\Order'); $shipment = $convertOrder->toShipment($order); // Loop through o
// Initialize the order shipment object
$convertOrder = $objectManager->create('Magento\Sales\Model\Convert\Order');
$shipment = $convertOrder->toShipment($order);
// Loop through order items
foreach ($order->getAllItems() AS $orderItem) {
// Check if order item has qty to ship or is virtual
if (! $orderItem->getQtyToShip() || $orderItem->getIsVirtual()) {
continue;
}
$qtyShipped = $orderItem->getQtyToShip();
// Create shipment item with qty
$shipmentItem = $convertOrder->itemToShipmentItem($orderItem)->setQty($qtyShipped);
// Add shipment item to shipment
$shipment->addItem($shipmentItem);
}
// Register shipment
$shipment->register();
$shipment->getOrder()->setIsInProcess(true);
$data = array(
'carrier_code' => 'custom',
'title' => 'Track',
'number' => $track_code // Replace with your tracking number
);
try {
// Save created shipment and order
$track = $objectManager->create('Magento\Sales\Model\Order\Shipment\TrackFactory')->create()->addData($data);
$shipment->addTrack($track)->save();
$shipment->save();
$shipment->getOrder()->save();
} catch (\Exception $e) {
echo "Shipment Not Created". $e->getMessage(); exit;
}