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

细心的读者可能会看到,这两个函数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购物车

分享到: