阅读759 返回首页    go 技术社区[云栖]


magento 开发 -- 新增一个简单的退货流程

       在现有的Magento系统中,客户在前台并没有一个可以申请退货的地方,退货操作只能由商家一方在后台操作。应客户需求,我为系统新增了一个前台客户可以申请退货的功能,并新增一个订单状态来保存客户申请之后的订单状态,下面简单描述下流程。

       1、新增一个订单状态

        Magento的订单状态是由配置文件中配置的,打开config.xml文件,在global标签中新增如下代码

 

<sales> <order> <statuses> <refunding translate="label"><label>On Refunding</label></refunding> </statuses> <states> <refunding> <statuses> <refunding/> </statuses> </refunding> </states> </order> </sales>  

 

        我把它命名为“退货申请中”,这时可以在后台的订单状态下拉框中看到这个新状态

 

       

 

       2、前台我的订单处新增可供客户点击的“退货”链接

 

            判断订单状态,如果订单状态为完成(complete),在状态后新增超链接“退货”

 

 

      

 

       3、对客户点击退货时改变订单状态

       将上面的退货的链接地址指向Controller的一个Action,当前订单的订单号作为参数传递给这个Action,修改订单状态的代码如下

 

       $order = Mage::getModel('sales/order')->loadByIncrementId($orderid); $order->setData('status','refunding'); $order->save();

 

       其中refunding是之前新增的订单状态

 

       操作后前台效果

 

      

 

后台效果

 

 

 

最后更新:2017-04-02 05:21:04

  上一篇:go magento -- 在Magento中使用自己写的SQL语句
  下一篇:go ruby和MinGW的一次融合