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

2016-07-20 16:24 来源:www.chinab4c.com 作者:ecshop专家

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

首先:我的版本是: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;
  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号,大家的可能不一样!

回答:
谢谢楼主

学习了.将来或许会用到


顶一下,顶一下。。。。。

不行啊,试过没有反应

这才是最直接的。