当前位置:首页 > 行业动态 > 正文

如何在DedeCms问答系统中实现游客提问的修改功能?

DedeCms的问答系统可以通过修改相应的模板文件和配置文件来实现游客提问功能。

DedeCms问答系统实现游客提问修改方法

如何在DedeCms问答系统中实现游客提问的修改功能?  第1张

实现步骤

1、安装问答插件:确保已经安装了DedeCMS的问答插件,如果没有安装,可以前往DedeCMS官网下载并按照说明进行安装。

2、编辑post.php文件:打开根目录下的ask/post.php文件,进行以下修改:

删除或注释掉以下代码:

     if(empty($uid) && $action != 'rate')
     {
         showmsgs('no_login','../member/login.php?gourl=../ask/');
         exit;
     }

修改成或注释掉以下代码:

     if(empty($uid) && $action != 'rate')
     {
         if($action!='ask' & $action!='')
         {
             showmsgs('no_login','../member/login.php?gourl=../ask/');
             exit;
         }
     }

注释掉以下代码:

     /*if($question['uid'] == $uid)
     {
         showmsgs('asker_cannot_answer', '1');
     }else*/

将以下代码替换成:

     if($answer['uid'] != $uid)
     {
         showmsgs('unallowed_action', $backurl);
     }else

或者直接注释掉修改答案部分的PHP代码:

     else if($action == 'modifyanswer')
     {
         $answer = $dsql>getone("SELECT answer.id, answer.uid, ask.dateline, ask.solvetime, ask.status, ask.expiredtime FROMdede_askanswer answer left join dede_ask ask on ask.id=answer.askid WHERE answer.id='$id'");
         if($answer)
         {
             if($answer['uid'] != $uid)
             {
                 showmsgs('unallowed_action', $backurl);
             }elseif($answer['status'] != 0)
             {
                 showmsgs('question_solved', $backurl);
             }elseif($answer['expiredtime'] < $timestamp)
             {
                 showmsgs('question_expired', $backurl);
             }
         } else
         {
             showmsgs('question_nonexistence');
         }
         if(trim($content) == '')
         {
             showmsgs('post_answer_isnull');
         }
         if(strlen($content) > 10000)
         {
             showmsgs('post_answer_toolong');
         }
         if(strlen(brief) > 200)
         {
             showmsgs('post_brief_toolong', '1');
         }
         if($dsql>ExecuteNoneQuery("update dede_askanswer set content='$content', brief='$brief' where id='$id'"))
         {
             showmsgs('modifyanswer_success',$backurl);
         }else
         {
             showmsgs('modifyanswer_failed',$backurl);
         }
     }

3、配置采集规则和回复策略:在后台管理界面找到“模块”>“安装新模块”,上传并安装DEDE问答自动采集回复插件,配置采集规则和回复策略,这可能涉及设置目标问答网站的URL、抓取频率等。

4、调用问答模块标签:在网站首页或其他页面调用问答模块标签,{dede:ask row='6' qtype='new' tid='0' titlelen='24'},这将显示最新的6个问题,每个问题的标题长度为24个字符。

5、测试功能:完成上述步骤后,测试游客匿名提问和回答功能是否正常工作,如果遇到问题,可以查看DedeCMS官方文档或寻求社区支持。

FAQs

Q1: 如何在DedeCMS中实现游客匿名提问?

A1: 要实现游客匿名提问,需要修改ask/post.php文件中的相关代码,具体操作如下:打开ask/post.php文件,删除或注释掉与用户登录相关的代码段,然后保存文件即可实现游客匿名提问功能。

Q2: 如何在DedeCMS中调用问答模块标签?

A2: 在网站首页或其他页面调用问答模块标签的方法是使用{dede:ask row='6' qtype='new' tid='0' titlelen='24'}这样的标签。row='6'表示显示6个问题,qtype='new'表示按最新问题排序,tid='0'表示所有分类,titlelen='24'表示每个问题的标题长度为24个字符。

序号 问题 解答
1 游客提问后如何修改问题? 1. 游客在提问后,需要登录到DedeCms后台。 2. 在后台找到“问答管理”模块。 3. 选择“提问列表”或者“我的提问”,找到需要修改的问题。 4. 点击问题后的“编辑”按钮。 5. 修改完问题后,点击“提交”按钮即可保存修改。
2 修改问题后,是否需要审核? 是的,修改问题后,系统管理员需要审核修改内容,审核通过后,修改的内容才会生效。
3 游客能否修改问题的标题? 是的,游客可以修改问题的标题,在编辑问题时,标题字段可以进行修改。
4 游客能否修改问题的内容? 是的,游客可以修改问题的内容,在编辑问题时,内容字段可以进行修改。
5 修改问题后,原有回答是否保留? 是的,修改问题后,原有回答会保留,系统会将修改后的问题和原有回答关联在一起。
6 修改问题后,如何通知其他用户? 1. 系统默认不通知其他用户。 2. 如果需要通知,可以在编辑问题时,勾选“通知其他用户”选项。 3. 系统会自动发送通知给关注该问题的用户。
7 修改问题后,能否删除问题? 是的,游客可以删除自己提出的问题,在编辑问题时,点击“删除”按钮即可。
8 修改问题后,能否修改标签? 是的,游客可以修改问题的标签,在编辑问题时,标签字段可以进行修改。
9 修改问题后,能否添加图片? 是的,游客可以添加图片,在编辑问题时,图片上传区域可以进行图片上传。
10 修改问题后,能否添加附件? 是的,游客可以添加附件,在编辑问题时,附件上传区域可以进行附件上传。
0