| 
	解决ecshop订单管理退货时,如何做到不退邮费,chinab4c提供相关ecshop教程如下: 
	
		
			| 
					打开admin/order.php在大约4468行处找到 
					  
					
						 
						 
						 
						 
						function return_user_surplus_integral_bonus($order) 
						{ 
						     
						    if ($order['user_id'] > 0 && $order['surplus'] > 0) 
						    { 
						        $surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid']: $order['surplus']; 
						        log_account_change($order['user_id'], $surplus, 0, 0, 0, sprintf($GLOBALS['_LANG']['return_order_surplus'], $order['order_sn'])); 
						        $GLOBALS['db']->query("UPDATE ". $GLOBALS['ecs']->table('order_info') . " SET `order_amount` = '0' WHERE `order_id` =". $order['order_id']); 
						    } 
						 
						    if ($order['user_id'] > 0 && $order['integral'] > 0) 
						    { 
						        log_account_change($order['user_id'], 0, 0, 0, $order['integral'], sprintf($GLOBALS['_LANG']['return_order_integral'], $order['order_sn'])); 
						    } 
						 
						    if ($order['bonus_id'] > 0) 
						    { 
						        unuse_bonus($order['bonus_id']); 
						    } 
						 
						     
						    $arr = array( 
						        'bonus_id'  => 0, 
						        'bonus'     => 0, 
						        'integral'  => 0, 
						        'integral_money'    => 0, 
						        'surplus'   => 0 
						    ); 
						    update_order($order['order_id'], $arr); 
						}  
					改成 
					  
					
						 
						 
						 
						 
						function return_user_surplus_integral_bonus($order) 
						{ 
						     
						    if ($order['user_id'] > 0 && $order['surplus'] > 0) 
						    { 
						        $surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid']-$order['shipping_fee'] : $order['surplus']; 
						        log_account_change($order['user_id'], $surplus, 0, 0, 0, sprintf($GLOBALS['_LANG']['return_order_surplus'], $order['order_sn'])); 
						        $GLOBALS['db']->query("UPDATE ". $GLOBALS['ecs']->table('order_info') . " SET `order_amount` = '0' WHERE `order_id` =". $order['order_id']); 
						    } 
						 
						    if ($order['user_id'] > 0 && $order['integral'] > 0) 
						    { 
						        log_account_change($order['user_id'], 0, 0, 0, $order['integral'], sprintf($GLOBALS['_LANG']['return_order_integral'], $order['order_sn'])); 
						    } 
						 
						    if ($order['bonus_id'] > 0) 
						    { 
						        unuse_bonus($order['bonus_id']); 
						    } 
						 
						     
						    $arr = array( 
						        'bonus_id'  => 0, 
						        'bonus'     => 0, 
						        'integral'  => 0, 
						        'integral_money'    => 0, 
						        'surplus'   => 0 
						    ); 
						    update_order($order['order_id'], $arr); 
						}  |  
	  
	  
	就可以了 
	官方默认的是退货时把已付款退到会员的帐中户,而退回的费用中没有减去 
	运费 
	支付手费费 
	包装费 
	如果ecshop退货时不退运费应是: 
	$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid'] - $order['shipping_fee']: $order['surplus']; 
	如果退货时不退动费和支付的手费费应是: 
	$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid'] - $order['shipping_fee']- $order['pay_fee']: $order['surplus']; 
	如果ecshop退货时不退动费和支付的手费费及包装费应是: 
	$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid'] - $order['shipping_fee']- $order['pay_fee']]- $order['pack_fee']: $order['surplus']; 
	以此类推可以做到ecshop退货时不退其它费 
	  
	 (责任编辑:chinab4c) |