程序员人生 网站导航

Discuz!游客查看部分内容,限制浏览回复的方法

栏目:Discuz时间:2014-05-26 04:20:31

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

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐