保存销售订单后获取增量ID给观察者?
Get the Increment Id in to observer after saving the sales order?
我正在 magento 管理面板中创建销售订单,我刚刚在 config.xml
中编写了以下代码
<global>
<events>
<sales_order_save_after>
<observers>
<mymodule>
<type>singleton</type>
<class>mymodule/observer</class>
<method>handleOrder</method>
</mymodule>
</observers>
</sales_order_save_after>
</events>
</global>
我的观察者档案如下..
class Mycompany_Mymodule_Model_Observer
{
public function handleOrder($observer)
{
}
}
在上面的函数中,我想获取调用此函数的销售订单的增量 ID。
谢谢,
我自己找到的...
$orders = Mage::getModel('sales/order')->getCollection()
->setOrder('increment_id','DESC')
->setPageSize(1)
->setCurPage(1);
$orderId = $orders->getFirstItem()->getEntityId();
$order = Mage::getModel('sales/order')->load($orderId);
$Incrementid = $order->getIncrementId();
问题已解决.....
此时已经分配到订单中,可以这样获取:
$incrementId = $observer->getOrder()->getIncrementId();
解释:
- 增量 ID 在
Mage_Sales_Model_Order::_beforeSave()
中分配
"order"是事件的参数,所以可以使用$observer->getOrder()
,其实是$observer->getEvent()->getData('order')
的快捷方式。 "before_save" 和 "after_save" 事件的参数名称在模型 class:
的 $_eventObject
属性 中定义
protected $_eventObject = 'order';
我正在 magento 管理面板中创建销售订单,我刚刚在 config.xml
中编写了以下代码<global>
<events>
<sales_order_save_after>
<observers>
<mymodule>
<type>singleton</type>
<class>mymodule/observer</class>
<method>handleOrder</method>
</mymodule>
</observers>
</sales_order_save_after>
</events>
</global>
我的观察者档案如下..
class Mycompany_Mymodule_Model_Observer
{
public function handleOrder($observer)
{
}
}
在上面的函数中,我想获取调用此函数的销售订单的增量 ID。
谢谢,
我自己找到的...
$orders = Mage::getModel('sales/order')->getCollection()
->setOrder('increment_id','DESC')
->setPageSize(1)
->setCurPage(1);
$orderId = $orders->getFirstItem()->getEntityId();
$order = Mage::getModel('sales/order')->load($orderId);
$Incrementid = $order->getIncrementId();
问题已解决.....
此时已经分配到订单中,可以这样获取:
$incrementId = $observer->getOrder()->getIncrementId();
解释:
- 增量 ID 在
Mage_Sales_Model_Order::_beforeSave()
中分配
"order"是事件的参数,所以可以使用
的$observer->getOrder()
,其实是$observer->getEvent()->getData('order')
的快捷方式。 "before_save" 和 "after_save" 事件的参数名称在模型 class:$_eventObject
属性 中定义protected $_eventObject = 'order';