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

功能描述

顾客申请退货—>客服收到退货邮件—>客服电话确认—>操作系统—>财务退款


业务流程


1.在后台新增一个订单状态refunding


2.前台用户订单新增退货按钮

app/code/core/Mage/Sales/Block/Order/Recent.php


//退货链接
public function getRefundingUrl($order)  
{
    return $this->getUrl('sales/order/refunding',array('order_id'=> $order->getId()));
}

app/design/frontend/base/default/template/sales/order/recent.phtml
<?php if ($_order->getStatus() == 'complete') : ?>
        <span class="separator">|</span> <a href="<?php echo $this->getRefundingUrl($_order) ?>"><?php echo $this->__('Refunding') ?></a>
<?php endif ?>

app/code/core/Mage/Sales/Controller/Abstract.php

//退货功能
    public function refundingAction()
    {      
    	if (!$this->_loadValidOrder()) {
            return;
        }
        
        $order = Mage::registry('current_order');
        
    	if ($this->_canViewOrder($order) && $order->getStatus()=='complete') { 
            //更改订单状态   
            $order->setData('status','refunding');
            $order->save();
            //发送邮件给客服
            $storeId = $order->getStoreId();
            $customerName = $order->getCustomer_lastname().' '.$order->getCustomer_firstname();
            $increment_id = $order->getIncrement_id();
            $shippingId = $order->getShipping_address_id();
            $address = Mage::getModel('sales/order_address')->load($shippingId);
            $telephone = $address->getTelephone();
            $user_email = $address->getEmail();
            
            //接收邮件在后台Custom Email 1里配置,默认发送邮给Custom Email 1里配置的邮件地址
            $receiveEmail = Mage::getStoreConfig('trans_email/ident_custom1/email');
            $receiveName = Mage::getStoreConfig('trans_email/ident_custom1/name'); 

            $vars = array('user_name' => $customerName, 'increment_id' => $increment_id , 'user_email'=>$user_email, 'telephone'=>$telephone ,'receive_name'=>$receiveName);
            try {
	            $templateId = "Order Refunding";
				$emailTemplate = Mage::getModel('core/email_template')->loadByCode($templateId);
	
				$emailTemplate->setSenderEmail(Mage::getStoreConfig('trans_email/ident_general/email', $storeId));
				$emailTemplate->setSenderName(Mage::getStoreConfig('trans_email/ident_general/name', $storeId));				
				//echo $emailTemplate->getProcessedTemplate($vars);  //预览邮件效果	
				$emailTemplate->send($receiveEmail,$receiveName, $vars);
            }catch (Exception $e){
            	Mage::log('The Order '.$increment_id.' is refunding,But not email to Customer Service');
            	Mage::getSingleton('catalog/session')
                ->addException($e, $this->__('Some emails were not sent.'));
            }
            
        }
        
        $this->_redirect('*/*/history');
    }


之后的操作,由客服去完成





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值