现版本discuz的门户功能虽然相比起专业的CMS系统还有一定的差距,但也已具备了比较完善的文章管理系统。那么,在discuz中如何开启例如wordpress中的游客评论功能呢? 其实也很简单,discuz本身就已经配有游客用户组,只需要我们到 管理后台设置一下相应的权限即可,但要让游客在评论的时候能输入昵称就需要我们稍微修改一下源代码了。discuz开启游客评论1、进入后台,用户--用户组--系统用户组--游客--编辑 2、门户相关--文章评论字数(设置此用户组发表文章评论字数限制,设置为0将禁止此用户组发表评论) 通过以上两步,已开启了discuz文章游客评论的功能,下面我们为游客评论添加昵称输入的功能。 disucz游客评论输入昵称1、模板文件修改(以下修改皆以默认模板文件作为参照,如你使用自己的模板,请对应修改相应的内容即可) 在template/default/portal/comment.htm文件中找到 <form id="cform" name="cform" action="portal.php?mod=portalcp&ac=comment" method="post" autocomplete="off">在该行下面加入 <div class="mytxt">
<input type="text" name="guestname" class="vm"> 作为游客发表评论,请输入您的昵称
</div> 再在template/default/portal/portal_comment.htm文件中找到<form id="cform" name="cform" action="$form_url" method="post" autocomplete="off">在该行下同样加入上面的代码。 以下设置评论显示里显示游客输入的昵称 在文件template/default/portal/comment_li.htm中找到以下代码 <!--{if !empty($comment['uid'])}--> <a href="home.php?mod=space&uid=$comment[uid]" class="xi2 xw1" c="1">$comment[username]</a> <!--{else}--> {lang guest} <!--{/if}-->把这几行代码修改成: <!--{if !empty($comment['uid'])}--> <a href="home.php?mod=space&uid=$comment[uid]" class="xi2 xw1" c="1">$comment[username]</a> <!--{elseif !empty($comment['username'])}--> $comment['username'] <!--{else}--> {lang guest} <!--{/if}-->2、修改PHP保存评论功能,只需要修改一处即可,是不是很简单~_~ 在文件source/function/function_portalcp.php中找到 $message = censor($message); if(censormod($message)) { $comment_status = 1; } else { $comment_status = 0; }在这几行代码下面加入以下代码即可 //为游客评论增加昵称输入
$username = $_G['username'];
if(empty($username) && isset($_POST['guestname'])){
$username = addslashes(trim($_POST['guestname']));
} 效果如下图所示:到此为止,已经全部完成了,具体效果请参考本站的文章评论功能,当然你可以为游客的评论设置各种的权限,防止乱发广告的现象,这些都可以在后台的用户组中进行设置。
文章来源 CODETC,欢迎分享,转载请注明地址:
http://www.codetc.com/article-59-1.html
|
你好!: 请问discuz这个文虎文章评论点击引用回复他人没反应怎么回事,是不是设置有问题,还是代码问题。 ...
试一下: Discuz! X3.2 Release 20150609 我按你的教程设置了,但游客输入的名字不显示,评论完还是显示“游客”不显 ...
温热: 额外热切
1246:
codetc: 您说的没用是什么没用呢?
漯河信息港: 你上面提到的要改的,还都有文件,但是我装了一个模板文件,模板文件了没有这些文件,我把这些文件从default目录拷贝到模板目录,仍然无效,到底这个如何做呢?c ...
codetc: 也许是什么地方弄错了,是显示不出来还是不能评论?