接触EC不久,也慢慢学习ecshop二次开发,为了实现商品直接购买功能。去百度搜索了不少资料。不过大多不能用或者不全!后来总算找到个靠谱的,才知道原来ecshop后台中有自带一步购物功能。但开启后,就没法使用购物车功能。我在那篇教程的基础上再加上本身的修改,终于完美实现了ecshop直接购买与购物车并存的功能。这里就跟你们详细讲解下: javascript
2. 增长直接购买的按钮。 php
在temp/default/goods.dwt下找到<li class="padd"> java
<ahref="javascript:bool=0;addToCart({$goods.goods_id})"><imgsrc="images/bnt_cat.gif" /></a> 函数
<a href="javascript:collect({$goods.goods_id})"><imgsrc="images/bnt_colles.gif" /></a> 学习
大概在390行的位置.而后在下面增长你的button代码: 网站
<ahref="javascript:bool=1;addToCart({$goods.goods_id})"><imgsrc="images/bnt_buy_1.gif" alt="直接购买"/></a> url
其中bool=1是用来判断用户点的是购物车仍是直接购买。 spa
打开js/common.js,在开头定义变量var bool=0.而后找到 教程
Ajax.call('flow.php?step=add_to_cart',&goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON'); ip
修改成
Ajax.call('flow.php?step=add_to_cart', 'bool='+bool+'&goods=' +goods.toJSONString(), addToCartResponse, 'POST', 'JSON');
即向flow.php中传入bool变量。
将flow.php中if($_CFG['one_step_buy'] == '1')全改成if(bool==1)这样就实现了当在后台开启一步购物也能经过bool变量区分购物车和一步购物。
回到common.js。找到var cart_url ='flow.php?step=cart';下面增长
if(bool == 1)
cart_url= 'flow.php?step=checkout';
这样就实现了点击直接购买就跳过购物车页面直接进入商品确认页面。
OK ,功能完成。