ecshop购买流程中增加修改订单总金额的方法
2009-12-02 09:47 来源:www.chinab4c.com 作者:ecshop专家
ecshop电子商务系统中,有很多地方还需要完善和处理,在ecshop复杂的购买流程中,如何调整ecshop订单总金额.根据自己的需求,能调动订单金额的办法呢.下面将结合例子,来分析.ECSHOP电子商务系统中,如何修改ecshop订单总金额.
1:在flow.dwt中增加以下代码.
<input type="radio" name="upup" value="2" onclick="upupto();">
2:修改js,增加以下函数.
function upupto(){
Ajax.call('flow.php?step=check_upupto', '', upuptoresponse, 'GET', 'JSON');
}
function upuptoresponse(obj)
{
if (obj.error)
{
alert(obj.error);
try
{
document.getElementById('ECS_BONUSN').value = '0';
}
catch (ex) { }
}
else
{
orderSelectedResponse(obj.content);
}
}
他是通过ajax来调整ecshop订单总金额的。
3:flow.php中增加以下代码
//##########################################
//处理升级定单
//##########################################
elseif ($_REQUEST['step'] == 'check_upupto')
{
include_once('includes/cls_json.php');
$result = array('error' => '', 'content' => '');
/* 取得购物类型 */
$flow_type = isset($_SESSION['flow_type']) ? intval($_SESSION['flow_type']) : CART_GENERAL_GOODS;
/* 获得收货人信息 */
$consignee = get_consignee($_SESSION['user_id']);
/* 对商品信息赋值 */
$cart_goods = cart_goods($flow_type); // 取得商品列表,计算合计
if (empty($cart_goods) || !check_consignee_info($consignee, $flow_type))
{
$result['error'] = $_LANG['no_goods_in_cart'];
}
else
{
/* 取得购物流程设置 */
$smarty->assign('config', $_CFG);
/* 取得订单信息 */
$order = flow_order_info();
/* 计算订单的费用 */
$total = order_fee($order, $cart_goods, $consignee);
/*
$total['amount'] += $total['pay_fee']; // 订单总额累加上支付费用
$total['amount_formated'] = price_format($total['amount'], false);
*/
$price = $total['amount'] + $total['amount'] *0.25;
if($total[real_goods_count]>0){
if($price<2000){
$result['error'] = '对不起,您提交的升级订单不足2000元,请重新选购产品后重新提交!';
}else{
$total['amount'] = $price; // 订单总额累加上支付费用
$total['amount_formated'] = price_format($total['amount'], false);
}
}else{
if($price<1000){
$result['error'] = '对不起,您提交的升级订单不足1000元,请重新选购产品后重新提交!';
}else{
$total['amount'] = $price; // 订单总额累加上支付费用
$total['amount_formated'] = price_format($total['amount'], false);
}
}
if($total[amount])
$smarty->assign('total', $total);
/* 团购标志 */
if ($flow_type == CART_GROUP_BUY_GOODS)
{
$smarty->assign('is_group_buy', 1);
}
$result['content'] = $smarty->fetch('library/order_total.lbi');
}
$json = new JSON();
die($json->encode($result));
}
//##########################################
//结束
//###########################################
用来处理回调ajax处理结果
这样,在ecshop的订单管理中,就处理了订单总金额了。
来源:中国B4C电子商务
最近更新
常用插件
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...