将“订单发货”事件挂钩并获取订单的订单ID
-
16-10-2019 - |
题
我创建了一个挂在
sales_order_shipment_save_after
事件。我已经测试了与Mage :: Log一起使用的钩子,我的问题是,如何获得刚刚创建的发货的订单ID?编辑:我尝试了以下内容,但是$ orderid在日志中返回空白...
public function invoice_and_complete($observer)
{
$event = $observer->getEvent();
$orderId = $event->getOrderIds();
Mage::log($orderId);
}
解决方案
为了 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