Wie erhalte ich die Sendungsnummer einer Bestellposition?
-
12-12-2019 - |
Frage
Sobald eine Bestellung aufgegeben wurde, generiere ich programmgesteuert zugehörige Sendungen (aufgrund unterschiedlicher Herstellungszeiten für meine Produkte)
Ich kann dann für eine einzelne Bestellung mehrere zugehörige Sendungen haben:
Ex:
- Versand #100000110 in 2 Tagen für Artikel 1 und 2
- Versand #100000111 in 5 Tagen für Artikel 3
Ich möchte auf die Sendungsnummer zugreifen, die einem bestimmten Artikel zugeordnet ist :
so etwas wie :
$order = Mage::getModel('sales/order')->load($_order_id);
$_items = $order->getAllItems();
foreach ($_items as $_item)
{
$ciid = $_item->getId();
$shipmentNbr = $_item->getShipment()->getIncrementId();
...
}
Danke für deine Hilfe,
Lösung
Wenn Sie die haben $orderItem
, Sie können alle ShipmentItems leicht bekommen:
$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);
}
}
wenn dies nicht funktioniert, müssen Sie die Sendung basierend auf dem laden $item->getParentId()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange