我们在使用ecshop的时候,特别是批发站。很多时候不能在ecshop商品列表页输入购买数量,是非常不方便的。现在如果一次性购买好几个商品,十分的不方便,只有在ecshop的商品详细页面才能输入。那些做批发的ecshop站,对这个要求很严格。 最好的状况下。就是在ecshop里面控制每个商品的最小购买数量。但是这个很多时候还是不方便的。让客户每次点购买的时候,就进入了默认的购买数量。当我们考虑开发出ecshop列表页购买数量输入框插件,就可以彻底的完全解决这个问题。 按照我们提供的步骤操作,最终效果截图如下: 1、在ECSHOP列表页的lbi文件中增加以下代码。如果你使用的是官方默认模板,那就是/themes/default/library/goods_list.lbi文件,找到商品价钱代码三处添加如下代码 数量:<a style="cursor:pointer" onclick="goods_cut({$goods.goods_id});">-</a><input class="txt-prodcount" id="number_{$goods.goods_id}" type="text" onblur="changePrice();" value="1" onfocus="if(value=='1') {value=''}" size="2" maxlength="5" /><a style="cursor:pointer" onclick="goods_add({$goods.goods_id});">+</a><br>接着搜索如下代码: <pre class="prettyprint lang-php"><form name="compareForm" action="compare.php" method="post" onSubmit="return compareGoods(this);"></pre>在以上的代码上面加上如下代码: <form action="javascript:void(0)" method="post" name="ECS_FORMBUY" id="ECS_FORMBUY" ></form>再把如下的代码加入到goods_list.lbi文件,最下面位置: <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>2、打开根目录下的 js/common.js 文件,找到如下代码 function addToCart(goodsId, parentId) { var goods = new Object(); var spec_arr = new Array(); var fittings_arr = new Array(); var number = 1; 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; }再找到如下代码: // 检查是否有商品规格 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; }再找到如下代码: function submit_div(goods_id, parentId) { var goods = new Object(); var spec_arr = new Array(); var fittings_arr = new Array(); 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; }按照上面步骤修改好以后,就能在ECSHOP商品列表页输入购买数量进行购买了!(责任编辑:好模板) |