plans - En magento, cómo agregar el envío y el número de seguimiento para ordenar
magento plans (2)
aqui tienes :)
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;
}
Necesito agregar dinámicamente un envío y una ruta de envío a un pedido, debe ser dinámico porque lo haremos por lotes, ¿pueden ayudarme?
EDITAR:
El usuario verá una página con una lista de pedidos, luego ingresará el número de pista para cada uno y enviará el formulario, así que necesito obtener un proveedor conocido y enviar todos los pedidos a través de este operador.
¡Gracias!
Jonathan
Si tiene una lista de identificadores de pedidos y números de seguimiento correspondientes, puede hacerlo
$shipment_collection = Mage::getResourceModel(''sales/order_shipment_collection'');
$shipment_collection->addAttributeToFilter(''order_id'', $order_id);
Luego puede revisar todos los envíos y agregar el seguimiento como,
foreach($shipment_collection as $sc) {
$shipment = Mage::getModel(''sales/order_shipment'');
$shipment->load($sc->getId());
if($shipment->getId() != '''') {
$track = Mage::getModel(''sales/order_shipment_track'')
->setShipment($shipment)
->setData(''title'', ''ShippingMethodName'')
->setData(''number'', $track_no)
->setData(''carrier_code'', ''ShippingCarrierCode'')
->setData(''order_id'', $shipment->getData(''order_id''))
->save();
}
}
Debería tener un bucle anidado de ID de pedido e ID de seguimiento encima de este código.