سؤال

بمجرد تقديم الطلب، أقوم برمجيًا بإنشاء الشحنات المرتبطة به (بسبب اختلاف وقت التصنيع لمنتجاتي)

يمكنني بعد ذلك الحصول على عدة شحنات مرتبطة بطلب واحد:

السابق:

  • الشحنة رقم 100000110 خلال يومين للبندين 1 و2
  • الشحنة رقم 100000111 خلال 5 أيام للصنف 3

أرغب في الوصول إلى رقم الشحنة المرتبط بعنصر معين:

شيء مثل :

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

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

شكرا لك على مساعدتك،

هل كانت مفيدة؟

المحلول

إذا كان لديك $orderItem, ، يمكنك بسهولة الحصول على جميع عناصر الشحنة:

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

إذا لم ينجح هذا، فأنت بحاجة إلى تحميل الشحنة بناءً على $item->getParentId()

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top