Domanda

Una volta posizionato un ordine, generalmente generare le spedizioni associate (a causa di diversi tempi di produzione sui miei prodotti)

Posso quindi avere per un singolo ordine diverse spedizioni associate:

ex:

    .
  • Spedizione # 100000110 in 2 giorni per gli articoli 1 e 2
  • spedizione # 100000111 in 5 giorni per l'articolo 3

    Vorrei accedere al numero di spedizione associato alla voce specifica:

    Qualcosa come:

    $order = Mage::getModel('sales/order')->load($_order_id);
    $_items = $order->getAllItems();
    
    foreach ($_items as $_item)
    {
        $ciid = $_item->getId();
        $shipmentNbr = $_item->getShipment()->getIncrementId();
        ...
    }
    
    .

    Grazie per il tuo aiuto,

È stato utile?

Soluzione

Se hai il $orderItem, puoi facilmente ottenere tutte le spedizioni:

$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);
     }
}
.

Se questo non funziona, è necessario caricare la spedizione in base al $item->getParentId()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top