Magento 保存销售订单后,是否将增量Id输入到observer?

Magento 保存销售订单后,是否将增量Id输入到observer?,magento,Magento,我正在magento管理面板中创建销售订单,我刚刚在我的config.xml中编写了以下代码 <global> <events> <sales_order_save_after> <observers> <mymodule> <type>singleton</t

我正在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>
在上面的函数中,我想获取调用此函数的销售订单的增量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\u Sales\u Model\u Order::\u beforeSave()
  • “order”是事件的一个参数,因此您可以使用
    $observer->getOrder()
    ,它实际上是
    $observer->getEvent()->getData('order')
    的快捷方式。“保存前”和“保存后”事件的参数名称在模型类的
    $\u eventObject
    属性中定义:

    protected $_eventObject = 'order';
    

。。。以最复杂的方式。嘿,如果我想要订单的状态,将使用什么函数…
$observer->getOrder()->getStatus()
不起作用。谢谢你,如果我回显$status,它将打印“挂起”,但如果我写这个
$stmt=$conn->prepare(“插入pp_销售订单值(“”,,?)”$stmt->bind_参数(“s”,$status)$status=$observer->getOrder()->getStatus(),它正在插入
NULL
,那么pp销售订单表的第三列可能不带字符串。无论如何,您不应该使用原始SQL,而是应该利用Magento模型
protected $_eventObject = 'order';