有时候为了方便,我们使用的商城系统的时候,让游客也可以购买,这对于小站来说是在合适不过了。今天介绍的就是在dedecms 5.7系统的商场系统中,实现游客可下订单购买的修改方法,需要的的朋友参考下。
方法1、
修改DEDE本身的订单程序,DEDE不就是要求注册会员才可以吗 ?
现在注册一个公共会员 写死在程序中去 就是在用户名和密码字段我直接自动写了值 不就OK了吗 呵呵,当然如果想智能一点 如果用户是会员 则用用户的会员号 否则就用默认的账号。
方法2、
后台先开启会员功能 如果不希望有会员加入 可以禁止会员注册
然后找到plus/carbuyaction.php文件
删除代码:
//确认用户登录信息if($cfg_ml->IsLogin()){$userid = $cfg_ml->M_ID;}else{$username = trim($username);$password = trim($password);if(empty($username) || $password){ShowMsg("请选登录!","-1",0,2000);exit();}$rs = $cfg_ml->CheckUser($username,$password);if($rs==0){ShowMsg("用户名不存在!","-1",0,2000);exit();}else if($rs==-1){ShowMsg("密码错误!","-1",0,2000);exit();}$userid = $cfg_ml->M_ID;}
第一个人的思路中存在一个问题,就是“如果有人买了东西没有支付 后来的用户不是要一起支付了 能看到其它的未支付订单”,下面有人提出了这个质疑,不太理想。第二个人把那段代码删除后,那就是把用户登录的信息也没在订单中关联起来了,所以我们即要游客可以订单,会员也能购买。
做了如下修改:
/plus/carbuyaction.php的
//确认用户登录信息if($cfg_ml->IsLogin()){$userid = $cfg_ml->M_ID;}else{$username = trim($username);$password = trim($password);if(empty($username) || $password){ShowMsg("请选登录!","-1",0,2000);exit();}$rs = $cfg_ml->CheckUser($username,$password);if($rs==0){ShowMsg("用户名不存在!","-1",0,2000);exit();}else if($rs==-1){ShowMsg("密码错误!","-1",0,2000);exit();}$userid = $cfg_ml->M_ID;}
修改为:
//确认用户登录信息if($cfg_ml->IsLogin()){$userid = $cfg_ml->M_ID;}else{$username = trim($username);$password = trim($password);if(empty($username) || $password){$userid = 0;}else{$rs = $cfg_ml->CheckUser($username,$password);if($rs==0){ShowMsg("用户名不存在!","-1",0,2000);exit();}else if($rs==-1){ShowMsg("密码错误!","-1",0,2000);exit();}$userid = $cfg_ml->M_ID;}}
代码说明:
如果用户没有登录,那我就把0赋值给 id,这样在后台只要看到是0下的订单,就是游客的。
这个对于一些网站上的小商品购买,还是很合适的,不需要注册会员就可直接购买。是不是很方便呢?