DedeCms问答系统实现游客提问修改方法
实现步骤
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 | 修改问题后,能否添加附件? | 是的,游客可以添加附件,在编辑问题时,附件上传区域可以进行附件上传。 |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1220791.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复