共计 727 个字符,预计需要花费 2 分钟才能阅读完成。
在现有的Magento系统中,客户在前台并没有一个可以申请退货的地方,退货操作只能由商家一方在后台操作。应客户需求,我为系统新增了一个前台客户可以申请退货的功能,并新增一个订单状态来保存客户申请之后的订单状态,下面简单描述下流程。
1、新增一个订单状态
Magento的订单状态是由配置文件中配置的,打开config.xml文件,在global标签中新增如下代码
[php]<sales>
<order>
<statuses>
<refunding translate="label"><label>On Refunding</label></refunding>
</statuses>
<states>
<refunding>
<statuses>
<refunding/>
</statuses>
</refunding>
</states>
</order>
</sales>[/php]
我把它命名为“退货申请中”,这时可以在后台的订单状态下拉框中看到这个新状态
2、前台我的订单处新增可供客户点击的“退货”链接
判断订单状态,如果订单状态为完成(complete),在状态后新增超链接“退货”
3、对客户点击退货时改变订单状态
将上面的退货的链接地址指向Controller的一个Action,当前订单的订单号作为参数传递给这个Action,修改订单状态的代码如下
[php]$order = Mage::getModel(‘sales/order’)->loadByIncrementId($orderid);
$order->setData(‘status’,’refunding’);
$order->save();[/php]
其中refunding是之前新增的订单状态
操作后前台效果
后台效果