Discuz!是一款非常強大的PHP論壇,但是由于各人需求不同,官方無法一一實現各種功能,例如:如何限制游客只能訪問主題部分內容,如何禁止游客瀏覽回復帖呢?這些功能在dzx1.5已經有了很好的體驗,對于低版本的論壇,例如7.1,7.2如何實現呢,關閉游客瀏覽太不利于搜索引擎收錄。
因此,作如下設置:
1、限制游客只能訪問1樓主題部分內容
2、不能瀏覽回復帖
方法如下:
一、限制游客只能訪問1樓主題部分內容
打開templates/風格目錄/viewthread_node.htm
查找
<table cellspacing="0" cellpadding="0"><tr><td class="t_msgfont" id="postmessage_$post[pid]">$post[message]</td></tr></table>
替換為
<!-- 限制游客瀏覽 START -->
<!--{if $post['number'] == 1}-->
<!--{if $discuz_uid}-->
<table cellspacing="0" cellpadding="0"><tr><td class="t_msgfont" id="postmessage_$post[pid]">$post[message]</td></tr></table>
<!--{else}-->
<div class="t_msgfont" id="postmessage_$post[pid]" style="height:200px; overflow:hidden;">$post[message]</div>
<div style="text-align:center; line-height:30px; border:1px solid #99CC00">查看全部內容:請<a href="/logging.php?action=login"><font color="#FF0000">{lang login}</font></a>或者<a href="/register.php"><font color="#FF0000">$reglinkname</font></a></div>
<!--{/if}-->
<!--{else}-->
<table cellspacing="0" cellpadding="0"><tr><td class="t_msgfont" id="postmessage_$post[pid]">$post[message]</td></tr></table>
<!--{/if}-->
<!-- 限制游客瀏覽 END -->
后臺更新緩存。
注:如果你使用的風格目錄下沒有viewthread_node.htm,則修改/default/目錄下同名文件。
二、不能瀏覽回復帖
搜索{subtemplate viewthread_node}在下面添加:
<!--{if !$discuz_uid}-->
<?php break; ?>
<!--{/if}-->