相信很多使用Discuz的朋友,都有想过能不能某一版块设置为仅发帖用户和管理员可见,用于论坛的问题反馈,或者投稿等私密版块。
但是Discuz后台里目前没有对应的功能设置!如果按用户组设置可浏览权限,可能用户都不能进去发帖!
目前有两种方法可以实现在特定版块里,内容只有用户本人和网站管理员或者版主可见,一种是设置“阅读权限”,第二种是直接某些版块对用户本人或那一用户可见。
第一种方法:设置阅读权限
1.用户自己在发帖的时候,在编辑页面,自己进行设置阅读权限!这样就本人和有阅读权限的用户组可见了!
2.如果每次要用户填阅读权限太麻烦,那就通过修改代码,使某一版块下发帖时默认设置阅读权限。
方法如下:
- 2.1打开修改文件:templates/default/post.htm
- 2.2找到:
<input type="text" name="readperm" value="$thread[readperm]" class="txt" tabindex="1" />
- 2.3修改为:
<input type="text" name="readperm"{if in_array($fid,array(2,3,4,5))} value="255" readonly="readonly" {else} value="$thread[readperm]" {/if}class="txt" tabindex="1" />
保存修改后,即可实现某一版块,默认设置“阅读权限”。
其中的value="255",是“阅读权限”,根据你实际的用户组阅读权限设置(后台-用户-管理组-基本权限)进行填写。
其中的($fid,array(2,3,4,5)),里面的数字代表的是fid号,也就是板块ID,多个板块ID用半角逗号分开!
第二种方法:直接让版块对用户本人或那某用户可见
方法如下:
- 1.打开修改文件:source\module\forum \forum_viewthread.php
- 2.搜索:$_G['forum_threadpay'] = FALSE;(DZx3.4 在219行左右)
- 3.在 $_G['forum_threadpay'] = FALSE;的上方插入:
if(in_array($_G['fid'], array(6,9,8,10)) && $_G['adminid'] != 1 && $_G['forum_thread']['authorid'] != $_G['uid']){
showmessage('对不起,本版内容非发帖人或管理员不可查阅!');
}
切记是在上方插入,不是替换!
原来是:
$incollection = getstatus($_G['forum_thread']['status'], 9);
$_G['forum_threadpay'] = FALSE;
if($_G['forum_thread']['price'] > 0 && $_G['forum_thread']['special'] == 0) {
最终修改为:
$incollection = getstatus($_G['forum_thread']['status'], 9);
if(in_array($_G['fid'], array(6,9,8,10)) && $_G['adminid'] != 1 && $_G['forum_thread']['authorid'] != $_G['uid']){
showmessage('对不起,本版内容非发帖人或管理员不可查阅!');
}
$_G['forum_threadpay'] = FALSE;
if($_G['forum_thread']['price'] > 0 && $_G['forum_thread']['special'] == 0) {
其中的array(6,9,8,10),是你要限制的版块ID,多个版块ID用半角逗号隔开“ , ”!
第三种方法:直接让版块对用户本人或那某一管理用户组可见
方法和上面第二种一样,只是代码不同,代码如下:
if(in_array($_G['fid'], array(6,9,8,10)) && $_G['groupid'] != 1 && $_G['forum_thread']['authorid'] != $_G['uid']){
showmessage('对不起,本版内容非发帖人或管理员不可查阅!');
}
方法就是把第二个方法里的$_G['adminid']改为了:$_G['groupid'], “ groupid ”是用户组的意思,”= 1“是你想要设置的管理组ID,要自己去后台看!
这两个方法基本上适用X1.5、X2.0、X2.5、X3.0、X3.1、X3.2、X3.3、X3.4!
测试之前,记得先备份站点,以免出现意外!
- 我的支付宝
- 支付宝扫一扫赞助
- 我的微信码
- 微信钱包扫描赞助
评论