Подключитесь к событию "заказ отправлен" и получите идентификатор заказа для отправленного заказа


Я создал модуль, который подключается к

sales_order_shipment_save_after

Событие. Я проверил, что крючок работает с Mage::log, Мой вопрос в том, как мне получить идентификатор заказа для только что созданной посылки? Редактировать: Я попробовал следующее, но $OrderID возвращает пустое значение в журнале...

public function invoice_and_complete($observer)
{
   $event = $observer->getEvent();
   $orderId = $event->getOrderIds();

   Mage::log($orderId);
}
Author: Teja Bhagavan Kollepara, 2013-02-19

1 answers

Для sales_order_shipment_save_after похоже, что он передает вам отправку только в методе getEvent. Оттуда вы должны быть в состоянии добраться до объекта заказа - пример:

class Company_Shipmentsave_Model_Observer
{
    public function salesOrderShipmentSaveAfter(Varien_Event_Observer $observer)
    {
            $shipment = $observer->getEvent()->getShipment();
            $order = $shipment->getOrder();

            //do something with order - get the increment id:
            $order->getIncrementId();

            //get all of the order items:
            $items = $order->getAllItems();
            return $this;
    }

}

Источник:

Https://stackoverflow.com/questions/3164800/my-magento-observer-is-getting-in-endless-loop

 8
Author: philwinkle, 2017-05-23 12:37:13