ecshop礼包功能模仿京东优惠套装功能,购物车中删除单品,套装自动分解

更新时间:2012-05-15 点击量:5823

京东的套装功能就是骗人的,详细见图片:

ecshop礼包功能模仿京东优惠套装功能,购物车中删除单品,套装自动分解

ecshop礼包功能模仿京东优惠套装功能,购物车中删除单品,套装自动分解

但是在ecshop中实现这个功能也是可以的。ecshop中的礼包功能实际就以一种优惠套装。需要改的就是购物车中删除单品,套装分解的实现。

首先在

flow.dwt中查找<!-- {foreach from=$goods.package_goods_list item=package_goods_list} -->
在下方添加:
<a href="goods.php?id={$package_goods_list.goods_id}" target="_blank">{$package_goods_list.goods_name}</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:if (confirm('删除该商品将会导致礼包失效,转换为单个商品,是否确认?')) package_del({$goods.rec_id},{$goods.goods_id},{$package_goods_list.goods_id})">删除</a><br />

在js中添加(jquery版,已测试):
//购物车礼包删除

function package_del(p_rec_id,p_id,g_id){
$.ajax({
type: "GET",
url: "flow.php",
data: "step=drop_goods&id="+p_rec_id,
success:function (){
pack_goods_add(p_id,g_id);
}
})
}

//购物车礼包删除后自动添加分解商品

function pack_goods_add(p_id,g_id){
$.ajax({
type: "GET",
url: "flow.php",
data: "step=ajax_package_add&p_id="+p_id+"&g_id="+g_id,
success:function (){
window.location.reload();
}
})
}
<>

(ecshop版,未测试)

//购物车礼包删除

function package_del(p_rec_id,p_id,g_id){
Ajax.call('flow.php',"step=drop_goods&id="+p_rec_id,function (){pack_goods_add(p_id,g_id);},'GET')
}

//购物车礼包删除后自动添加分解商品

function pack_goods_add(p_id,g_id){
Ajax.call('flow.php',"step=ajax_package_add&p_id="+p_id+"&g_id="+g_id,function (){window.location.reload();},'GET')
}

在flow.php中添加:

查找:elseif ($_REQUEST['step'] == 'drop_goods')

添加:$goods_id = $db->getOne("SELECT goods_id FROM " .$ecs->table('cart'). " WHERE rec_id = '$rec_id' ");//获得购物车内商品的id

添加:
/*-----------------------------------------------*/
/*删除礼包的一件商品后添加其他商品到购物车
/*-----------------------------------------------*/

if ($_REQUEST['step'] == 'ajax_package_add'){
$p_id=$_GET['p_id'];
$sql="select goods_id from `ecs_package_goods` where package_id='{$p_id}'";
$arr=$db->getAll($sql);
$g_id=$_GET['g_id'];
foreach ($arr as $key=>$val){
if($g_id!=$val['goods_id']){
$selsql="select goods_id from `ecs_cart` where goods_id='{$val['goods_id']}'";
$ressel=$db->getAll($selsql);
if($ressel) {
$update="update `ecs_cart` set goods_number=goods_number+1 where goods_id='{$val['goods_id']}'";
$db->query($update);
}else{
addto_cart($val['goods_id']);
}
}
}
}

反正我做完是好使了,又写出来也不知道全不全。大概就是这个意思,你自己想想也就能明白了,也就能做出来了。
思路就是这么个思路,功能就是这么个功能,自己研究去吧。
我也没测试,不知道按这篇文章写的能不能好使。你要看了不好使的话,留言吧。
我也不一定能看到!
效果如图:

礼包:京东礼包

京东礼包

删除冬季婴儿服:

删除冬季婴儿服:

删除冬季婴儿服:

删除成功:

删除成功

删除成功

再添加一个礼包删除搭赠2:

再添加一个礼包删除搭赠2

再添加一个礼包删除搭赠2

删除结果:

删除结果

删除结果

不管你信不信反正就是这么个功能!最后!你好好算算京东的(套装价)和(单品价之和)那个更贵!

支付宝扫码打赏 微信打赏

如果文章对您有帮助,就打赏一个吧

在线客服

客户服务

热线电话:

13128985956 服务时间:

周一到周六:9:00-18:00

在线QQ客服

在线微信客服

关于我们 常见问题

支付方式 加盟合作

提交需求
优惠红包 购物车0 反馈留言 返回顶部