ECshop实现同时显示购物车方式和一步购物方式

工作需要,要研究这个问题。屡思不得,遂放狗上网。狗吠曰:


在后台开启一步购物 则可以不用到购物车 直接结算 。从而实现立刻购买。然而购物车的功能又没有了。有没有像淘宝那样即可以立刻购买。又有购物车功能呢。?

首先 我们先将添加购物车的跳转链接复制粘贴到收藏商品的按钮上 然后设一个bool值为1 。

<a href=”javascript:bool =1;addToCart({$goods.goods_id})”>。然后直达JS处理页面common.js 在这个脚本的第一行代码之上加一个全局变量var bool =0; 然后查找点击购物车之后的那条链接即:flow.php?step=cart 

找到这个(在第88行 那块)之后 然后在下面加这句话 (bool == 1) && (cart_url = ‘flow.php?step=consignee’);

意思是 当bool = 1 条件满足时 则cart_url链接到  ‘flow.php?step=consignee’ 直接购买的页面

大致就是这样子了   从而实现立刻购买与添加到购物车并存的方法。


但是,我使用的ECshop是最新的2.7.2版,在common.js的88行没有找到那段代码,后来在大约92行的样子找到了,在后面加上了作者写的那段代码,依然出错。继续在common.js搜索作者提到的flow.php?step=cart,发现在890到900行的样子,还有一处,在这一行下面也加上作者的代码,这才OK。


为了保证更丰富地进行设置,我又做了如下调整。

1,数据库里shop_config表code字段,one_step_buy属性增加值2
2.language/admin/shop_config.php,增加
$_LANG[‘cfg_range’][‘one_step_buy’][‘2’] = ‘同时开启购物车和一步购物’;
修改
$_LANG[‘cfg_range’][‘one_step_buy’][‘0’] = ‘开启购物车’;
$_LANG[‘cfg_range’][‘one_step_buy’][‘1’] = ‘开启一步购物’;
3、include/lib_common.php,去除
$arr[‘one_step_buy’]         = empty($arr[‘one_step_buy’]) ? 0 : 1;
4、themes/模板名称/goods.dwt,增加“立刻购买”的图片,作者说的<a href=”javascript:bool =1;addToCart({$goods.goods_id})”>代码就加在“立刻购买”图片的<img>标签前后。

<!– {if $cfg.one_step_buy eq 1 or $cfg.one_step_buy eq 2} –>
<a href=”javascript:bool =1;addToCart({$goods.goods_id})”><img src=”images/bnt_subOrder.gif” width=”145″ height=”40″ /></a>
<!– {/if} –>
<!– {if $cfg.one_step_buy eq 0 or $cfg.one_step_buy eq 2} –>
<a href=”javascript:addToCart({$goods.goods_id})”><img src=”images/bnt_cat.gif” width=”72″ height=”41″ /></a>
<!– {/if} –>

以上代码的意思是,当“是否一步购物”的选择项选择1,也就是选择一步购物的时候或者同时开启两者的时候,显示“立刻购买”的图片,当“是否一步购物”的选择项选择0,也就是选择购物车的时候或者同时开启两者的时候,显示购物车的图片。

 

搜到的资料,来自于新浪博客陈耀雄氏,地址为http://blog.sina.com.cn/s/blog_6f5ae1880100o4dj.html。