Question

Une fois la commande passée, je génère par programmation les expéditions associées (en raison des différents délais de fabrication de mes produits)

Je peux alors avoir pour une seule commande plusieurs expéditions associées :

ex:

  • Expédition #100000110 en 2 jours pour les articles 1 et 2
  • Expédition #100000111 en 5 jours pour l'article 3

Je souhaite accéder au numéro d'expédition associé à un article spécifique :

quelque chose comme :

$order = Mage::getModel('sales/order')->load($_order_id);
$_items = $order->getAllItems();

foreach ($_items as $_item)
{
    $ciid = $_item->getId();
    $shipmentNbr = $_item->getShipment()->getIncrementId();
    ...
}

Merci pour votre aide,

Était-ce utile?

La solution

Si vous avez le $orderItem, vous pouvez facilement obtenir tous les ShipmentItems :

$shipmentItems = Mage::getResourceModel('sales/order_shipment_item_collection')
    ->addFieldToFilter('order_item_id', $orderItem->getId());
foreach ($shipmentItems as $shipment_item) {
     if ($shipment_id = $shipment_item->getParentId()) {
        $shipment = Mage::getModel('sales/order_shipment')->load($shipment_id);
     }
}

si cela ne fonctionne pas, vous devez charger l'envoi en fonction du $item->getParentId()

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top