当前位置: 首页 > 站长资讯 > 正文页面

ecshop购物车无刷新更新

ecshop的购物车使用是相当的不方便.ecshop购物车一旦加入了商品,就必须点更新数量的按扭才能够更新.这样对ecshop使用者相当的不方便。我们将结合ecshop ajax的思路。来讲讲用ecshop的ajax无刷新更新购物车.14H网站目录_网站网址收录与提交入口

1:首先要包含js/shopping_flow.js 该文件主要是针对ecshop购买流程控制的js.我们将增加以下函数.14H网站目录_网站网址收录与提交入口

function submit_update_cart(rec_id){14H网站目录_网站网址收录与提交入口

var goods_number = document.getElementById("goods_number_"+rec_id).value;14H网站目录_网站网址收录与提交入口

Ajax.call('flow.php?step=ajax_update_cart', 'goods_number=' + goods_number+'&rec_id='+rec_id, submit_update_cartResponse_cart, 'GET', 'JSON');14H网站目录_网站网址收录与提交入口

}14H网站目录_网站网址收录与提交入口

2:在flow.dwt中。我们要修改input输入框.<input type="text" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}"14H网站目录_网站网址收录与提交入口

3:在ecshop的购物车函数中。什么json来结合ecshop ajax处理更新结果.部分程序如下14H网站目录_网站网址收录与提交入口

include_once('includes/cls_json.php');14H网站目录_网站网址收录与提交入口

$result = array('error' => '', 'content' => '', 'fanliy_number' => '0', 'rec_id' => '');14H网站目录_网站网址收录与提交入口

$json = new JSON();14H网站目录_网站网址收录与提交入口

/* AJAX修改购物车 */14H网站目录_网站网址收录与提交入口

$rec_id = $_REQUEST['rec_id']; //购物车ID14H网站目录_网站网址收录与提交入口

$goods_number = $_REQUEST['goods_number'];//14H网站目录_网站网址收录与提交入口

/* 判断库存 */14H网站目录_网站网址收录与提交入口

$num = $db -> getOne("select g.goods_number from ".$ecs->table('goods')." g ,".$ecs->table('cart')." c where c.rec_id = '$rec_id' and g.goods_id = c.goods_id ");14H网站目录_网站网址收录与提交入口

if($goods_number > $num){14H网站目录_网站网址收录与提交入口

$goods_number = $num;14H网站目录_网站网址收录与提交入口

$result['error'] = 1;14H网站目录_网站网址收录与提交入口

$result['fanliy_number']= $num;14H网站目录_网站网址收录与提交入口

$result['rec_id'] = $rec_id;14H网站目录_网站网址收录与提交入口

$result['content'] = '该商品库存不足'.$goods_number." 件,只有".$num."件";14H网站目录_网站网址收录与提交入口

die($json->encode($result));14H网站目录_网站网址收录与提交入口

}14H网站目录_网站网址收录与提交入口

/* 修改商品购物车 */14H网站目录_网站网址收录与提交入口

$sql = "update ".$ecs->table('cart')." set goods_number = '".$goods_number."' where rec_id = '".$rec_id."' and session_id = '" . SESS_ID . "' ";14H网站目录_网站网址收录与提交入口

$db -> query($sql);14H网站目录_网站网址收录与提交入口

4:通过flow.php中的php.返回更新数量后的结果.14H网站目录_网站网址收录与提交入口

function submit_update_cartResponse_cart(result){14H网站目录_网站网址收录与提交入口

if(result.error == '1'){14H网站目录_网站网址收录与提交入口

document.getElementById("goods_number_"+result.rec_id).value = result.fanliy_number;14H网站目录_网站网址收录与提交入口

alert(result.content)14H网站目录_网站网址收录与提交入口

}else{14H网站目录_网站网址收录与提交入口

var layer = document.getElementById("xianshi_price");14H网站目录_网站网址收录与提交入口

layer.innerHTML = (typeof result == "object") ? result.content : result;14H网站目录_网站网址收录与提交入口

}14H网站目录_网站网址收录与提交入口

}14H网站目录_网站网址收录与提交入口

通过以上ecshop二次开发例子,我们完成了ecshop购物车无刷新更新。14H网站目录_网站网址收录与提交入口

  

此文由 网站目录_网站网址收录与提交入口 编辑,未经允许不得转载!:

相关文章