// For both order complete and ship
<?php $orderId = 100000821; // you're order Id
gaOrderCompShip($orderId); // define function
function gaOrderCompShip($orderId){ // function definition
$email = true;
$trackingNum = '';
$carrier = 'custom';
$includeComment = false;
$comment = "Order Completed And Shipped";
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
$convertor = Mage::getModel('sales/convert_order');
$shipment = $convertor->toShipment($order);
foreach ($order->getAllItems() as $orderItem) {
if (!$orderItem->getQtyToShip()) {
continue;
}
if ($orderItem->getIsVirtual()) {
continue;
}
$item = $convertor->itemToShipmentItem($orderItem);
$qty = $orderItem->getQtyToShip();
$item->setQty($qty);
$shipment->addItem($item);
}
$carrierTitle = NULL;
if ($carrier == 'custom') {
$carrierTitle = 'courier Service name';
}
$data = array();
$data['carrier_code'] = $carrier;
$data['title'] = $carrierTitle;
$data['number'] = $trackingNum;
$track = Mage::getModel('sales/order_shipment_track')->addData($data);
$shipment->addTrack($track);
$shipment->register();
$shipment->addComment($comment, $email && $includeComment);
$shipment->setEmailSent(true);
$shipment->getOrder()->setIsInProcess(true);
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($shipment)
->addObject($shipment->getOrder())
->save();
$shipment->sendEmail($email, ($includeComment ? $comment : ''));
$order->setStatus('Complete');
$order->addStatusToHistory($order->getStatus(), $comment, false);
$shipment->save();
} ?>
This is really nice to read content of this blog. A is very extensive and vast knowledgeable platform has been given by this blog. I really appreciate this blog to has such kind of educational knowledge.
ReplyDeletefedex ประเทศไทย