ecshop购物车批量删除商品
ecshop默认的购物车中,每件商品后面有一个删除按钮,可以删除所选商品。但是当购物车中商品很多,用户希望一次性删除多个商品,是不能实现的。
需要修改的文件为:
1、模板目录下的flow.dwt文件
2、站点根目录下的flow.php文件
第一步:修改flow.dwt文件,在每一个商品前增加单选框,并增加全选功能
在购物车商品循环表格中增加一列
<th bgcolor="#F7F7F7" width="8%" align=center><input type="checkbox" autocomplete="off" id="chkAll" name="chkAll" onclick="return chkAll_onclick()" style="vertical-align:middle">全选</th>
<td bgcolor="#FFFFFF" align="center" ><input type="checkbox" autocomplete="off" name="sel_cartgoods[]" value="{$goods.rec_id}" id="sel_cartgoods_{$goods.rec_id}" checked=checked onclick="select_cart_goods();"></td>
第二步:增加批量删除按钮
<a class="delete_sel" href="javascript:void(0)" onclick="selcart_delete();">删除选中商品</a>
第三步:增加JavaScript内容
<script type="text/javascript"> function chkAll_onclick() { for (var i=0;i<document.formCart.elements.length;i++) { var e = document.formCart.elements[i]; if (e.name != 'chkAll') e.checked = document.formCart.chkAll.checked; } } function selcart_delete() { var sel_goods = new Array(); var obj_cartgoods = document.getElementsByName("sel_cartgoods[]"); var j=0; for (i=0;i<obj_cartgoods.length;i++) { if(obj_cartgoods[i].checked == true) { sel_goods[j] = obj_cartgoods[i].value; j++; } } if (j>0) { if (confirm('确认将这些商品从购物车中移除么?')){ location.href='flow.php?step=drop_goods&id='+sel_goods; } } else { alert('您还没有选择商品哦!'); return false; } } </script>
第四步:修改根目录下的flow.php文件中的flow_drop_cart_goods函数
$sql = "SELECT * FROM " .$GLOBALS['ecs']->table('cart'). " WHERE rec_id = '$id'";
修改为:
$sql = "SELECT * FROM " .$GLOBALS['ecs']->table('cart'). " WHERE rec_id in ('$id')";
第五步:修改flow.php文件
将
$rec_id = intval($_GET['id']);
修改为:
$rec_id = $_GET['id'];
<< 上一篇
下一篇 >>