magento -- 关于更新订单状态的API接口函数
2010-12-30 17:10
309 查看
做Magento和其他系统的对接时需要调用Magento的Api,原以为更新一个订单的状态这样的函数Magento默认肯定自带有,一开始却找不到,打开官网看order部分提供的接口函数列表也没找到。
按说明,从上到下依次为批量获取订单,获取单个订单,给订单添加备注,锁定订单,解锁订单和取消订单。在我认为不存在这个函数准备自己写一个的时候,看代码发现其实addComment这个函数已经提供了更新订单状态的功能,而不仅仅是添加备注,看代码
addStatusToHistory这个函数可以同时修改订单状态和添加订单备注,并且添加一条订单历史记录,要比直接修改订单的状态值要合理。同时addComment这个接口还可以发送订单更新邮件给客户,是否发送取决于$notify这个参数。
也就是说,Magento提供的更新订单的接口还是挺完整的,可惜文档里没体现出来,会误导人。
按说明,从上到下依次为批量获取订单,获取单个订单,给订单添加备注,锁定订单,解锁订单和取消订单。在我认为不存在这个函数准备自己写一个的时候,看代码发现其实addComment这个函数已经提供了更新订单状态的功能,而不仅仅是添加备注,看代码
public function addComment($orderIncrementId, $status, $comment = null, $notify = false) { $order = $this->_initOrder($orderIncrementId); $order->addStatusToHistory($status, $comment, $notify); try { if ($notify && $comment) { $oldStore = Mage::getDesign()->getStore(); $oldArea = Mage::getDesign()->getArea(); Mage::getDesign()->setStore($order->getStoreId()); Mage::getDesign()->setArea('frontend'); } $order->save(); $order->sendOrderUpdateEmail($notify, $comment); if ($notify && $comment) { Mage::getDesign()->setStore($oldStore); Mage::getDesign()->setArea($oldArea); } } catch (Mage_Core_Exception $e) { $this->_fault('status_not_changed', $e->getMessage()); } return true; }
addStatusToHistory这个函数可以同时修改订单状态和添加订单备注,并且添加一条订单历史记录,要比直接修改订单的状态值要合理。同时addComment这个接口还可以发送订单更新邮件给客户,是否发送取决于$notify这个参数。
也就是说,Magento提供的更新订单的接口还是挺完整的,可惜文档里没体现出来,会误导人。
相关文章推荐
- 关于ViewFlipper自动播放更新状态的问题
- 关于获取Magento的最新订单
- Magento SOAP API V2 开放接口修改订单状态
- 关于报工和生产订单的一些状态解释
- spring jpa关于detached状态的对象的更新与保存
- Magento paypal付完款后订单状态还是pendding payment 待付款状态如何解决?
- magento 支付宝模块 当支付成功时在哪里更改订单状态的
- mysql查超过15分钟未付款的订单,更新为失效状态
- 关于销售订单的状态
- magento 后台订单状态修改
- 关于销售订单的状态
- magento shell 脚本 通过api获取paypal的订单状态,同步到magento网站的订单,自动纠正不准确的订单状态
- 关于销售订单的状态
- magento修改订单状态、添加订单备注代码示例
- sql server 程序集 更新 订单状态
- 关于批量修改生产订单状态功能
- 如何在magento后台增加一个自定义订单状态
- magento 修改订单状态为Completed
- 关于销售订单的状态
- mysql定时任务和事件解决订单自动更新状态问题