Ecshop是一款开源的网上商店系统,在我心目中可以算得上网上商城界的Wordpress了。
本文介绍如何实现在ecshop中批量添加商品到购物车。
大家都知道,默认的ecshop只能单件点击“添加到购物车”(Add to Cart)实现一件一件的添加商品到购物车,无法经过多选之后批量添加。
其实实现的方法比较简单,Ecshop本身的添加商品到购物车使用的是一个js函数调用json来post数据的,这里我们就可以使用已有的这个函数 addToCart()来实现批量添加。
下面给出具体操作步骤。
1. 修改商品列表模板 /themes/default/library/goods_list.lbi 在其中每个商品的前面增加一个复选框按钮。
即默认模板大约第74行,增加代码:
<input type="checkbox" value="{$goods.goods_id}" />
2. 增加可以添加选定商品到购物车的链接。位置任选,代码如下:
<a href="javascript:addSelectedToCart('goodslist')">Add selected products to cart</a>
3.添加循环将选定商品加入购物车的函数,打开/js/common.js文件,在第36行,加入如下代码:
/*
*添加选定商品到购物车*/function addSelectedToCart(p){
for ( var i=0; i<document.getElementById(p).elements.length; i++ ){
var e = document.getElementById(p).elements[i];
if ( (e.type=='checkbox')&&(!e.disabled) )
{ if ( e.checked ) { addToCart(e.value) ; }
}}}