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'];
<< 上一篇
下一篇 >>