codetc - 网站开发技术 首页 资源 教程 查看内容

discuz门户文章允许游客评论和添加游客昵称

2014-11-17 18:33| 发布者: CODETC| 查看: 115851| 评论: 44

现版本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"> &nbsp;作为游客发表评论,请输入您的昵称
</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
发表评论

最新评论

引用 www.asneel.com  2021-2-13 01:31
咔咔咔咔咔咔得给对方
引用 游客 2020-9-13 22:23
你好!: 请问discuz这个文虎文章评论点击引用回复他人没反应怎么回事,是不是设置有问题,还是代码问题。 ...
enenen
引用 游客 2020-9-13 21:14
试一下: Discuz! X3.2 Release 20150609 我按你的教程设置了,但游客输入的名字不显示,评论完还是显示“游客”不显 ...
为什么我自己搭建的    点击引用按钮不起效果
引用 温热  2020-9-13 19:34
温热: 额外热切
灌灌灌灌
引用 温热  2020-9-13 19:34
额外热切
引用 1246  2020-6-22 11:34
1246:
艾薇儿群翁人·
引用 1246  2020-6-22 11:33
codetc: 您说的没用是什么没用呢?
引用 codetc 2017-12-17 17:23
漯河信息港: 你上面提到的要改的,还都有文件,但是我装了一个模板文件,模板文件了没有这些文件,我把这些文件从default目录拷贝到模板目录,仍然无效,到底这个如何做呢?c ...
自己装的模板找不到文件的话就去修改默认模板的文件
引用 codetc 2017-12-17 17:21
对于设置了还是有问题的各位同学,在下没有按时回复,实在抱歉,因为平时比较忙,网站也没怎么维护了。如果实在解决不了,可以在本页末联系站长给我发邮件,我看到后都尽量帮大家解决,一起学习!
引用 xxx1123  2017-8-17 07:42
试了不行,还引起其他问题
引用 积分卡上的纠纷  2017-6-20 14:37
水电费发
引用 子非鱼  2017-6-17 23:13
codetc: 也许是什么地方弄错了,是显示不出来还是不能评论?
是没有效果,输入昵称后,评论完,依然显示的是游客。 ...
引用 为什么不行  2017-4-16 14:38
为什么不行噢,还是显示游客,并且还有乱码
引用 123  2017-4-5 19:33
试下效果如何
引用 漯河信息港  2017-3-2 15:36
codetc ,帮帮忙别,你的这个用起来还真不错,我也想实现这个功能,按你说的做了,,我相信如果没用其他N5模板的话肯定管用! ...
引用 漯河信息港  2017-3-2 15:33
你上面提到的要改的,还都有文件,但是我装了一个模板文件,模板文件了没有这些文件,我把这些文件从default目录拷贝到模板目录,仍然无效,到底这个如何做呢?c ...
引用 漯河信息港  2017-3-2 15:28
我改过了,按你说的,但是还是不可以用,我用的N5的模板
引用 codetc 2017-3-2 14:43
再试一次: 为什么我弄的没效果
也许是什么地方弄错了,是显示不出来还是不能评论?
引用 再试一次  2017-2-23 19:47
为什么我弄的没效果
引用 游客 2017-2-16 14:50
测试

查看全部评论(44)

 作为游客发表评论,请输入您的昵称

返回顶部