最近在做一个织梦的风湿骨科医院网站,需要用到织梦默认的问答模块,一般医院网站用到问答但并不适合用到会员的,一是医院没必要要会员功能,二是要会员的话会多出好多页面会增加开发费用。所以需要做二次开发,让游客提问 管理员来回答 ,开始没感觉有什么困难,因为之前做过织梦问答的二次开发。可是谁知道织梦总是改版,这不是用最新版本5.7sp1的来做,咿呀,一看问答和之前的修改方法完全不一样喽!不过经过研究还是解决了 分享给大家:
1、游客提问:
找到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; } 2、游客问答,提示“请勿重复回复同一问题”: 同样找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码: if($rs) { ShowMsg('请勿重复回复同一问题!','-1'); exit; } 和 if($rs){ ShowMsg('请不要重复发布同一问题,请耐心等待解答..', "index.php"); exit; } |
3、问题已过期、提问者自己不能回答自己的问题
同样找到找到并删除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_timestamp']){ ShowMsg('问题已经过期','-1'); exit; } $data['tid'] = $question['tid']; $data['tid2'] = $question['tid2']; $data['userip'] = getip(); }else{ ShowMsg('回答的问题不存在','-1'); exit; } |
4、“您尚未登录,请先登录”
找到找到并删除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; } |
5、“验证码错误!”“验证问题答案错误”
找到找到并删除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(); } } |
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。