私は荷物と貨物トラックを注文に動的に追加する必要があります。私たちはバッチでそれを行うため、動的にする必要があります。この?マゼンタでは、貨物とトラック番号を追加する方法
EDIT:
ユーザーには注文のリストが表示され、それぞれのトラック番号を入力してフォームを送信するので、私は既知のキャリアを取得し、このキャリア経由ですべての注文を送信する必要があります。
ありがとうございます!
ジョナサンあなたは、あなたがすべての出荷を通過することができます
$shipment_collection = Mage::getResourceModel('sales/order_shipment_collection');
$shipment_collection->addAttributeToFilter('order_id', $order_id);
、注文IDと対応する追跡番号のリストを持っている場合することができます:)
private function _createShipment($shipment, $itemsQty)
{
$itemsQtyArr = array();
foreach ($itemsQty as $item)
{
$itemsQtyArr[$item->iExternalOrderId] = $item->dQtyShipped;
}
try
{
$shipmentIncrementId = Mage::getModel('sales/order_shipment_api')->create($shipment->sOrderNumber, $itemsQtyArr, $shipment->sShipmentComment, true, true);
if ($shipmentIncrementId)
{
Mage::getModel('sales/order_shipment_api')->addTrack($shipmentIncrementId, $shipment->sCarrierCode, $shipment->sTrackingTitle, $shipment->sTrackingNumber);
}
}
catch(Exception $e)
{
Mage::log('Exception: ' . $e->getMessage());
}
return $shipmentIncrementId ? true : false;
}
それは動作しませんでした、それは出荷収集ループに入ることはありません、あなたは原因が分かるでしょうか?どうもありがとう! – Jonathan
ok $ shipment_collection-> addAttributeToFilter( 'order_id'、$ order_id)を試してください。 – Nasaralla