关于立即购买跟放入购物车同时存在的解决方法

2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家



看似简单的问题,需要修改4个文件
因为ECSHOP有了一步购物的功能,所以仔细看一下就知道,一步购物就是我们要的立即购买的功能,其功能是通过变量one_step_buy进行控制的,在我们需要实现两项功能并存的时候,需要先关闭一步购买功能,然后,在JS控制中进行判断,符合条件后就开启。

首先来看 common.js
购物需要通过这个JS来放入购物车,在放入购物车的时候,我们可以再两个按钮提交的时候多提交一个变量,当然需要把函数修改一下,我是增加了一个flag进行控制,当点击立即购买的时候,变量为addToCart("goods_id",'','checkout');这个是写在goods.dw母板文件中的

然后再common.js就会获取checkout这个参数, 写一个判断,当第三个参数为checkout的时候,增加goods.one_buy=1这个参数,然后提交给transport.js

在看transport.js
在返回数据字符串后,需要对返回数据进行判断,当goods.one_buy==1的时候,result.one_step_buy=1;
然后数据返回common.js,在common.js的接受返回数据中写入判断,当goods.one_step_buy==1是,path=flow.php?step=cart&one_buy=1

然后到flow.php ,在加入购物车的注释前,写上 if($_GET["one_buy"]!="" & $_GET["one_buy"]){
$cfg["one_step_buy"]=$_GET["one_buy"];
}

OK,晚些时候放文件

需要的下载附件吧

回答:
有点问题,这个修改后,把价格统计的给搞没了。。。

修正了一下,在transport.js中的parseResult : function (resp**eType, xhr,params)下面插入判断
  1. if(params!=null){
  2. params=params.toJS**tring();
  3. //alert(params);
  4. // alert(params)
  5. params=params.parseJSON();
  6. var params=eval(params)
  7. //alert(params.one_buy)//通过提交的goods.one_buy参数进行控制


  8. result = result.parseJSON();
  9. if(params.one_buy==1){
  10. //result = result.toJS**tring()
  11. var result=eval(result);
  12. result.one_step_buy=1;


  13. result = result.toJS**tring()

  14. result = result.parseJSON();
  15. }
  16. }else{
  17. result = result.parseJSON();
  18. }
复制代码

试了,不能实现

我也是 不能实现