本節(jié)內(nèi)容:
dedecms5.7商城系統(tǒng)無需登錄注冊即可下訂單購買的修改方法
辦法1、
修改DEDE本身的訂單程序,DEDE不就是要求注冊會員才可以嗎 ?
現(xiàn)在注冊一個公共會員 寫死在程序中去 就是在用戶名和密碼字段我直接自動寫了值 不就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;
}
第一個人的思路中存在一個問題,就是“如果有人買了東西沒有支付 后來的用戶不是要一起支付了 能看到其它的未支付訂單”,下面有人提出了這個質(zhì)疑,不太理想。第二個人把那段代碼刪除后,那就是把用戶登錄的信息也沒在訂單中關聯(lián)起來了,所以我們即要游客可以訂單,(www.genban.org 網(wǎng)站建設)會員也能購買。
作了如下修改:
/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下的訂單,就是游客的。