dedecms5.7问答模板只允许管理员回答
2024-07-12 08:37:52
供稿:网友
找到织梦dedecms5.7的/ask/control目录下的question.php文件,找到其中的织梦dedecms这样一段代码并增加以下红色部分代码: <?php if($cfg_ml->isAdmin == 1) { ?> <div class="bor1 mt10 pd10 reply"> <form method="post" name="answer" action="?ct=question&ac=answer&askaid=<?php echo $question['id']; ?>"> <h3><span class="fl">我来回答这个问题</span></h3> <div class="mt10 reply_edit"><?php GetFck("content","",400);?></div> <div class="reply_edit_btn"><span class="fl mt10">回答即可得<?php echo $cfg_ask_answerscore;?>分,回答被采纳则获得悬赏分以及奖励<?php echo $cfg_ask_bestanswer;?>分。</span><span class="fl ml10 mt10"><label> <?php if($GLOBALS['cfg_ask_guestanswer'] == 'Y') { ?> <input name="anonymous" type="checkbox" value="1"/>匿名回答</label><?php } ?></span><button type="submit" class="btn fr">提交回答</button></div> </form> </div> <?php } ?> 二:允许游客提问 找到dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码并删除: if(empty($this->cfg_ml->M_ID)) { ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']); exit; } if($this->cfg_ml->M_Spacesta < 0) { ShowMsg('您还没有通过审核,暂时不能提问,请耐心等....','-1'); exit; } 删除以上一段代码后可进入提问页面,但是依然发布不了,提示:“您尚未登录,请先登录” 三:解决 “您尚未登录,请先登录” 找到找到并删除dedecms5.7的/ask/control目录下的myask.php文件 if(empty($this->cfg_ml->M_ID)) { ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']); exit; } 找到找到并删除dedecms5.7的/ask/control目录下的search.php文件 if(empty($cfg_ml->M_ID)) { ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']); exit; } if($cfg_ml->M_Spacesta = 0) { ShowMsg('您还没有通过审核,暂时不能提问,请耐心等....','-1'); exit; } 删除以上一部分之后 可进入发布了,可是发不后又提示:“请勿重复回复同一问题” 四:游客问答,提示“请勿重复回复同一问题”: 同样找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码: if($rs) { ShowMsg('请勿重复回复同一问题!','-1'); exit; } 和 if($rs){ ShowMsg('请不要重复发布同一问题,请耐心等待解答..', "index.php"); exit; } 到此,想要实现的功能都已经基本上实现了。最后在附送其他几个问题的解决办法,如果有用到可以参考。 五:问题已过期、提问者自己不能回答自己的问题 同样找到找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码 if($question) { if($question['uid'] == $this->cfg_ml->M_ID) { ShowMsg('提问者自己不能回答自己的问题', '-1'); exit; }else if($question['expiredtime'] < $GLOBALS['cfg_ask_timesasdp']){ ShowMsg('问题已经过期','-1'); exit; } $data['tid'] = $question['tid']; $data['tid2'] = $question['tid2']; $data['userip'] = getip(); }else{ ShowMsg('回答的问题不存在','-1'); exit; } 六:“验证码错误!”“验证问题答案错误” 找到找到并删除dedecms5.7的/ask/control目录下的question.php文件 if(preg_match("#7#",$GLOBALS['safe_gdopen'])){ $svali = GetCkVdValue(); if(strtolower($data['vdcode']) != $svali || $svali=='') { ResetVdValue(); ShowMsg('验证码错误!', '-1'); exit(); } } //检查验证问题 $faqkey = isset($data['faqkey']) && is_numeric($data['faqkey']) ? $data['faqkey'] : 0; if($GLOBALS['gdfaq_ask'] == 'Y') { global $safefaqs; if($safefaqs[$faqkey]['answer'] != $data['safeanswer'] || $data['safeanswer'] =='') { ShowMsg('验证问题答案错误', '-1'); exit(); } }