ECSHOP商品列表页加上输入购买数量

  我们在使用ecshop的时候,特别是批发站。很多时候不能在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">&lt;form name="compareForm" action="compare.php" method="post" onSubmit="return compareGoods(this);"&gt;</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商品列表页输入购买数量进行购买了!

本文原创地址:https://www.ecshop.cx/article-233.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

实时购买动态 ×

keepgong会员 在 2019-04-11 购买了 ECShop官方正版Cloudy模板适用于2.7.2/2.7.3