当前位置:首页 > CMS教程 > ecshop > 列表

ecshop 直接购买,不经过购物车简单实现

发布:smiling 来源: PHP粉丝网  添加日期:2014-11-18 15:49:13 浏览: 评论:0 

购物有两种方式,一种是加入购物车,一种是直接购买,我们这里要两种并存,第一种不用管,后台不要开启一步购买就行,下面我们说说第二种,非常简单.

首先:我的版本是:v2.7.3 UTF-8,不同的版本可能有差别,你可以找到你自己版本的函数也这样改.

1:打开common.js,加入如下代码,加在最后面或者最前面吧,防止不懂程序的人搞不清模块函数加错.

  1. function addToCart2(goodsId, parentId) 
  2. { 
  3.   var goods        = new Object(); 
  4.   var spec_arr     = new Array(); 
  5.   var fittings_arr = new Array(); 
  6.   var number       = 1; 
  7.   var formBuy      = document.forms['ECS_FORMBUY']; 
  8.   var quick     = 0; 
  9.   // 检查是否有商品规格  
  10.   if (formBuy) 
  11.   { 
  12.     spec_arr = getSelectedAttributes(formBuy); 
  13.     if (formBuy.elements['number']) 
  14.     { 
  15.       number = formBuy.elements['number'].value; 
  16.     } 
  17. quick = 1; 
  18.   } 
  19.   goods.quick    = quick; 
  20.   goods.spec     = spec_arr; 
  21.   goods.goods_id = goodsId; 
  22.   goods.number   = number; 
  23.   goods.parent   = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId); 
  24.   Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJS**tring(), addToCartResp**e2, 'POST', 'JSON'); 
  25. } 
  26. function addToCartResp**e2(result) 
  27. { 
  28.   if (result.error > 0) 
  29.   { 
  30.     // 如果需要缺货登记,跳转 
  31.     if (result.error == 2) 
  32.     { 
  33.       if (confirm(result.message)) 
  34.       { 
  35.         location.href = 'user.php?act=add_booking&id=' + result.goods_id + '&spec=' + result.product_spec; 
  36.       } 
  37.     } 
  38.     // 没选规格,弹出属性选择框 
  39.     else if (result.error == 6) 
  40.     { 
  41.       openSpeDiv(result.message, result.goods_id, result.parent); 
  42.     } 
  43.     else 
  44.     { 
  45.       alert(result.message); 
  46.     } 
  47.   } 
  48.   else 
  49.   { 
  50.     var cartInfo = document.getElementById('ECS_CARTINFO'); 
  51.     var cart_url = 'flow.php?step=checkout'; 
  52.     if (cartInfo) 
  53.     { 
  54.       cartInfo.innerHTML = result.content; 
  55.     } 
  56.     if (result.one_step_buy == '1') 
  57.     { 
  58.       location.href = cart_url; 
  59.     } 
  60.     else 
  61.     { 
  62.       switch(result.confirm_type) 
  63.       { 
  64.         case '1' : 
  65.           if (confirm(result.message)) location.href = cart_url; 
  66.           break; 
  67.         case '2' : 
  68.           if (!confirm(result.message)) location.href = cart_url; 
  69.           break; //开源软件:phpfensi.com 
  70.         case '3' : 
  71.           location.href = cart_url; 
  72.           break; 
  73.         default : 
  74.           break; 
  75.       } 
  76.     } 
  77.   } 
  78. } 

细心的读者可能会看到,这两个函数addToCart,addToCartResp**e,本来就有,我只是改一下名字即:addToCart2,addToCartResp**e2

2:调用的时候:

(1)<a href="javascript:addToCart({$goods.goods_id})">加入购物车</a>

(2)<a href="javascript:addToCart2({$goods.goods_id})">直接购物</a>

注意括号里的{$goods.goods_id}是商品的ID号,大家的可能不一样.

Tags: ecshop直接购买 ecshop购物车

分享到: