dedecms5.7sp问答模块实现游客提问的方法

最近在做一个织梦的风湿骨科医院网站,需要用到织梦默认的问答模块,一般医院网站用到问答但并不适合用到会员的,一是医院没必要要会员功能,二是要会员的话会多出好多页面会增加开发费用。所以需要做二次开发,让游客提问 管理员来回答 ,开始没感觉有什么

最近在做一个织梦的风湿骨科医院网站,需要用到织梦默认的问答模块,一般医院网站用到问答但并不适合用到会员的,一是医院没必要要会员功能,二是要会员的话会多出好多页面会增加开发费用。所以需要做二次开发,让游客提问 管理员来回答 ,开始没感觉有什么困难,因为之前做过织梦问答的二次开发。可是谁知道织梦总是改版,这不是用最新版本5.7sp的来做,咿呀,一看问答和之前的修改方法完全不一样喽!不过经过研究还是解决了 分享给大家:

 

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();
            }
        }

====================================================================================================================================================================================================

这样就好了。问题都已经解决了!我亲自测试的!希望能够帮助大家,目前这个还比较少的

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

织梦DEDECMS 栏目文章文章命名规则修改, 每次添加栏目的时候 都要改文章命名规则,十分麻烦, 修改下面这个地方就可以一改永亦,织梦模板网为您解答 找到\include\common.inc.php 搜索 $cfg_df_namerule 把: $cfg_df_namerule = {typedir}/{Y}/{M}{D}/{aid
当我们通过{dede:arclist keyword=关键词}来调用文章列表时,你会发现只在其中一个栏目里生效,在其他栏目,仍然显示上一次的关键词。 原因是由于arclist的缓存导致的。 只需修改/include/taglib/arclist.lib.php文件,大概在384行: $taghash = md5(seriali
我们在使用织梦dedecms数据库内容替换时候,经常遇到 安全码 显示的无法识别或者不清晰,这个安全码的位置是在核心 - 批量维护 - 数据库内容替换,如果识别不了,这个页面还没有改变验证码的地方,只能重新刷新页面,如果我们不想要这个安全码的话,要怎么操
今天一个客户在安装织梦dedecms时候,安装完成后登录后台就出现Safe Alert Request Error step 2,常用dedecms的朋友都知道,这是织梦的安全机制,在程序觉得有sql注入等攻击时候,会有这种提示。 1、起初我以为是文件没传全,让这个朋友重新传了文件上去安
很多人在修改织梦会员中心模板的时候 会遇到 明明修改了,为什么还是原来样式?确认文件没有修改错误的情况下,可能是缓存问题,你 只要把 /data/tplcache/ 里面的文件全部删除,重新访问即可。
dede织梦搜索伪静态,伪静态设置成功后,访问URL地址效果如下: 搜索页 http://www.baidu.com/search/织梦.html 搜索分页 http://www.baidu.com/search/织梦-2.html 本教程也适用于手机端。 开启伪静态: 后台-系统参数-核心设置-开启伪静态 后台-系统参数-