Belirli bir siparişten, o siparişe ait gönderiyi oluşturmak ve aynı zamanda takip numarasını programlı olarak oluşturmak istiyorum. Lütfen yardım edin. TeşekkürlerMagento, takip numarası ile gönderiyi programlı olarak yaratıyor
cevap
Soru yalnızca bilgi paylaşımı amaçlıydı.
Bir biçimi burada Ref_link
sne bu açıkladı = Ref_Link
// $order_id = Order ID
$_order = Mage::getModel('sales/order')->load($order_id);
if($_order->canShip())
{
$shipmentId = Mage::getModel('sales/order_shipment_api')->create($_order->getIncrementId(), $itemsarray ,'your_comment' ,false,1);
echo $shipmentId; // Outputs Shipment Increment Number
$trackmodel = Mage::getModel('sales/order_shipment_api')
->addTrack($shipmentId,'your_shipping_carrier_code','your_shipping_carrier_title','carrier_tracking_number');
}
$itemsarray
bazı noktaları anlayabilir!
Basit bir kod parçacığı.
Birisi yardımcı olur umarım.
Kabul edilen cevap doğru ve CE 1,9 için benim için çalıştı, ancak üzerinde genişletmek istedim.
$itemsQty
parametresiyle uğraşmanıza gerek yok, boş bir array()
geçirebilir veya tamamen dışarıda bırakabilirsiniz. Bu isteğe bağlı bir parametredir ve app\code\core\Mage\Sales\Model\Service\Order.php
'daki prepareShipment()
yöntemi bu verileri denetler ve gerekirse bir arama gerçekleştirir.
İzleme numarasını gönderi e-postasına eklemek istiyorsanız, önce izlemeyi eklediğinizden emin olun ve ardından Mage::getModel('sales/order_shipment_api')->sendInfo($shipmentIncrementId)
'u kullanın.
Kod Parçacığı:
$shipmentApi = Mage::getModel('sales/order_shipment_api');
//pass false for email, unless you want Magento to send the shipment email without any tracking info
//could also be written as $shipmentIncrementId = $shipmentApi->create($order->getIncrementId());
$shipmentIncrementId = $shipmentApi->create($order->getIncrementId(), array(), '' , false, 0);
//add tracking info ($shippingCarrier is case sensitive)
$shipmentApi->addTrack($shipmentIncrementId, $shippingCarrier, $shippingTitle, $trackingNumber);
//send shipment email with tracking info
$shipmentApi->sendInfo($shipmentIncrementId);
oluşturmak() yöntemi imzası:
public function create($orderIncrementId, $itemsQty = array(), $comment = null,
$email = false, $includeComment = false)
tüm yöntemler için app\code\core\Mage\Sales\Model\Order\Shipment\Api.php
bakınız.
$ shipmentId öğesinin aslında Gönderi Arttırma Kimliği olduğunu unutmayın. – kmdsax