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}-->