本帖最后由 dicky57 于 2015-4-7 21:01 编辑
大家好
有些站長想讓特定版塊只能顯示自己的主題
且不能查看其他會員的主題
這種特定版塊可能比較適合
申訴或是 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="https://discuz.dismall.com/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} onclick="atarget(this)"{/if} class="s xst">$thread[subject]</a>{else}<a href="https://discuz.dismall.com/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}-->
复制代码
上方代碼中的特定版塊 fid
和之前的說明一樣
改成您自己特定版塊的 fid 即可
這裡不再重複說明
上方代碼中的
($_G[uid], array(1, 2,3))
是特定版塊不受限的會員 uid
也就是在特定版塊這三位會員不受限
可以在特定版塊查看所有會員的主題
如果您只想讓一位會員有權限的話
只填一個會員的 uid 即可
如
($_G[uid], array(1))
這樣修改後在特定版塊帖子列表頁
會員發帖後只會看到自己的主題及訪問主題
不是自己的主題就會隱藏不顯示
會顯示 "抱歉,您無此權限"
上方代碼中的
- <a href="https://discuz.dismall.com/forum.php" target="_blank">{lang mod_error_invalid}</a>
复制代码
就是點擊 "抱歉,您無此權限" 時的超連結
這個網址就是超連結的網址
- https://discuz.dismall.com/forum.php
复制代码
您可以替換為您特定版塊的網址
或是您特定版塊是 vip 版塊的話
可以替換為充值的頁面網址
如果您不想要有超連結的話
- <a href="https://discuz.dismall.com/forum.php" target="_blank">{lang mod_error_invalid}</a>
复制代码
則替換為
另外如果您後台有設置版塊關聯的話
也要將關聯的版塊設置成特定版塊
不然會員到關聯版塊時就能查看所有會員的主題
如
A 版塊是特定版塊
和 B 版塊是關聯的版塊
那 B 版塊也要修改成特定版塊
不然會員到 B 版塊就能查看特定版塊的主題
修改前請先備份
修改後記得更新緩存
修改前
修改後
沒權限的用戶組或是會員
不受限的用戶組或是會員
|