在使用ecshop的時(shí),很多時(shí)候我們在商品列表頁不能批量購買商品是很不方便的,如何讓用戶在ecshop中的商品列表頁進(jìn)行批量購買呢?68ecshop模板中心開發(fā)出ecshop列表頁購買數(shù)量輸入框插件,進(jìn)一步提升了用戶體驗(yàn),徹底的解決了這個(gè)問題,在這里68ecshop模板中心把解決思路與大家共享。
第一步:打開庫文件 library\goods_list.lbi, 在所需要的購買數(shù)量后添加
<a class="btn-down" onclick="goods_cut({$goods.goods_id});">-</a><br />
<input class="txt-prodcount" id="number_{$goods.goods_id}" type="text" onblur="changePrice();" value="1" onfocus="if(value=='1') {value=''}" size="4" maxlength="5" /> //這里是為了給input輸入框不同的id值<br />
<a class="btn-up" onclick="goods_add({$goods.goods_id});">+</a>
然后找到加入購物車按鈕
<a href="javascript:addToCart({$goods.goods_id})"><em>加入購物車</em></a><br />
第二步:打開根目錄下的 js/common.js
找到添加商品到購物車的方法addToCart(在文件的最上面)
找到
function addToCart(goodsId, parentId)
{
var goods = new Object();
var spec_arr = new Array();
var fittings_arr = new Array();
var formBuy = document.forms['ECS_FORMBUY'];
var quick = 0;
}
在紅色段代碼下添加如下判斷:
var fid = "number_"+goodsId;
if(document.getElementById(fid)){
number = document.getElementById(fid).value;
}
else
{
var number = 1;
}
//這里是根據(jù)不同的input輸入框的id值,把輸入框的購買數(shù)量添加到購物車
此時(shí)沒有屬性的商品,點(diǎn)擊加入購物車,已經(jīng)可以了,但是需要選擇屬性的商品點(diǎn)擊加入購物車的時(shí)候,數(shù)量不起作用,一直都是加入1個(gè)商品。
下面解決這個(gè)問題
第三步:還是在common.js里找到
// 檢查是否有商品規(guī)格
if (formBuy)
{
spec_arr = getSelectedAttributes(formBuy);
if (formBuy.elements['number'])
{
number = formBuy.elements['number'].value;
}
quick = 1;
}
在這段代碼下面添加
var fid = "number_"+goodsId;
if(document.getElementById(fid)){
number = document.getElementById(fid).value;
}
第四步:打開goods_list.lbi庫文件,
在循環(huán)商品的foreach標(biāo)簽外,添加一個(gè)form表單
<form action="javascript:void(0)" method="post" name="ECS_FORMBUY" id="ECS_FORMBUY" ></form>
將這個(gè)頁面的對比的form表單,去掉,換一下也可以
第五步:將加減號的js代碼放入goods_list.lbi的商品foreach循環(huán)外外
<script language="javascript" type="text/javascript">
function goods_cut($val){
var num_val=document.getElementById('number_'+$val);
var new_num=num_val.value;
var Num = parseInt(new_num);
if(Num>1)Num=Num-1;
num_val.value=Num;
}
function goods_add($val){
var num_val=document.getElementById('number_'+$val);
var new_num=num_val.value;
var Num = parseInt(new_num);
Num=Num+1;
num_val.value=Num;
}
</script>
第六步:在根目錄下的js/common.js中找到function submit_div(goods_id, parentId)方法,在
var number = 1;
var input_arr = document.getElementsByTagName('input');
var quick = 1;
下面添加
var fid = "number_"+goods_id;
if(document.getElementById(fid)){
number = document.getElementById(fid).value;
}
到此全部完成
聯(lián)系客服