保存销售订单后,将增量ID添加到观察者中?

时间:2015-02-12 05:55:27

标签: magento

我正在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。

谢谢,

2 个答案:

答案 0 :(得分:0)

我发现它是我自己......

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

问题解决了.....

答案 1 :(得分:0)

此时已经分配给订单,所以你可以这样得到它:

$incrementId = $observer->getOrder()->getIncrementId();

<强>解释

  • 增量ID在Mage_Sales_Model_Order::_beforeSave()
  • 中分配
  • “order”是事件的参数,因此您可以使用$observer->getOrder()实际上是$observer->getEvent()->getData('order')的快捷方式。 “before_save”和“after_save”事件的参数名称在模型类的$_eventObject属性中定义:

    protected $_eventObject = 'order';