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