ecshop购买数量前后添加加减按钮
Ecshop的用户体验做的真的不敢恭维,在商品详情页和购物车页面,购物数量不能加和减,只能用户自己修改数量框里的数字。下面给数量框两侧添加“+”“-”按钮。
1、修改/js/common.js,在最后添加以下代码:
/**
* 购物车加减按钮
* @param txt_id 数量的ID
* @param type 加 + 减 -
* @param num 添加或者减少的数量 默认为一
*/
function cart_number(txt_id, type, num)
{
num = num || 1;
var txt = document.getElementById(txt_id);
var source_num = parseInt(txt.value);
if (source_num == 1 && type == '-')
{
alert('请最少购买一个商品');
return;
}
var to_num = source_num;
if (type == '+')
{
to_num += num;
}
else if (type == '-')
{
to_num -= num;
}
txt.value = to_num;
showdiv(txt);
}
复制代码
2、修改模版文件夹下flow.dwt,添加以下代码:
搜索 goods_number 的input, 在input 两侧添加以下代码,其中“+”“-”也可以换成加号和减号的图片:
<a href="javascript:cart_number('goods_number_{$goods.rec_id}', '-');">-</a>
<a href="javascript:cart_number('goods_number_{$goods.rec_id}', '+');">+</a>
复制代码
说明:这个修改方法是用在购物车页面,不过有个缺点是,它不是基于ajax,所以修改数量后要点“更新购物车”才可以。
这个修改方法也可以用在商品详细页面,不过需要修改一个地方,把第二步中的代码修改为:
<a href="javascript:cart_number('number', '-');">-</a>
<a href="javascript:cart_number('number', '+');">+</a>
复制代码