大家好
有些站长想让特定版块只能显示自己的主题
且不能查看其他会员的主题
这种特定版块可能比较适合
申诉或是 vip 或是特殊交易的版块
又或是比较隐私的版块
如医疗版块等来使用
分享给有需要的站长们
另外楼主楼层第二页提供简体版本
方便其他站长阅读^^
打开
template/default/forum/forumdisplay_list.htm 文件
查找- <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else} onclick="atarget(this)"{/if} class="s xst">$thread[subject]</a>
复制代码 替换为- <!--{if in_array($_G[fid], array(2,18))}-->
- <!--{if $_G[uid] == $thread[authorid] || in_array($_G[groupid], array(1, 2,3)) }-->
- <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else} onclick="atarget(this)"{/if} class="s xst">$thread[subject]</a>{else}<a href="http://www.Discuz.net/forum.php" target="_blank">{lang mod_error_invalid}</a>
- <!--{/if}-->
- {else}
- <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else} onclick="atarget(this)"{/if} class="s xst">$thread[subject]</a>
- <!--{/if}-->
复制代码 上方代码中的
($_G[fid], array(2,18))
是制定版块的 fid
把 2 和 18 改成您的特定版塊 fid 即可
如果您只有一個特定版塊的話
只填一個 fid 即可
如
($_G[fid], array(2))
上方代碼中的
($_G[groupid], array(1, 2,3))
是特定版块不受限的用户组 id
也就是在特定版块管理员和超级版主及版主不受限
可以在特定版块查看所有会员的主题
如果您只想让管理员有权限的话
只填一个用户组 id 即可
如
($_G[groupid], array(1))
如果你指定版块不是要给用户组查看权限
而是想给某位或是几位会员有权限的话
上方替换为的部分
改成替换为- <!--{if in_array($_G[fid], array(2,18))}-->
- <!--{if $_G[uid] == $thread[authorid] || in_array($_G[uid], array(1, 2,3)) }-->
- <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else}{/if} class="s xst">$thread[subject]</a>{else}<a href="http://www.discuz.net/forum.php" target="_blank">{lang mod_error_invalid}</a>
- <!--{/if}-->
- {else}
- <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else}{/if} class="s xst">$thread[subject]</a>
- <!--{/if}-->
复制代码 上方代码中的特定版块 fid
和之前的说明一样
改成您自己特定版块的 fid 即可
这裡不再重复说明
上方代码中的
($_G[uid], array(1, 2,3))
是特定版块不受限的会员 uid
也就是在特定版块这三位会员不受限
可以在特定版块查看所有会员的主题
如果您只想让一位会员有权限的话
只填一个会员的 uid 即可
如
($_G[uid], array(1))
这样修改后在特定版块帖子列表页
会员发帖后只会看到自己的主题及访问主题
不是自己的主题就会隐藏不显示
会显示 "抱歉,您无此权限"
上方代码中的- <a href="http://www.discuz.net/forum.php" target="_blank">{lang mod_error_invalid}</a>
复制代码 就是点击 "抱歉,您无此权限" 时的超连结
这个网址就是超连结的网址- http://www.discuz.net/forum.php
复制代码 您可以替换為您特定版块的网址
或是您特定版块是 vip 版块的话
可以替换為充值的页面网址
如果您不想要有超连结的话- <a href="http://www.discuz.net/forum.php" target="_blank">{lang mod_error_invalid}</a>
复制代码 则替换为另外如果您后台有设置版块关联的话
也要将关联的版块设置成特定版块
不然会员到关联版块时就能查看所有会员的主题
如
A 版块是特定版块
和 B 版块是关联的版块
那 B 版块也要修改成特定版块
不然会员到 B 版块就能查看特定版块的主题
修改前请先备份
修改后记得更新缓存
修改前
修改后
没权限的用户组或是会员
不受限的用户组或是会员
|