crx349 发表于 2013-10-12 15:31:46

升级Discuz! X3.1后导读页面不显示帖子,问题解疑。

一、关于导读页面 最新热门、最新精华、查看新帖 选项中,没有帖子显示的问题解疑。

1、先来看看第一个导读设置问题:
   这个最新热门、最新精华帖子,有可能是你最近一周都没有帖子,所以在导读页面显示为空白了。可以按照如图设置:后台 -》全局 -》站点功能 -》导读设置 -》热帖聚合时间范围、精华聚合时间范围 都设置为:三个月即可。(根据站点自身的数据进行设置)。
http://att.discuz.net/data/attachment/forum/201211/19/170825a0yrm4o47rtzmmu7.jpg

2、第二个问题,版块的权限:
   后台 -》论坛 -》版块管理 -》编辑版块 -》权限相关 -》版块权限 -》浏览版块权限 都不勾选,帖子才能在导读中显示。
在 source\module\forum\forum_guide.php 文件中的代码if($forum['type'] != 'group' && $forum['status'] > 0 && !$forum['viewperm'] && !$forum['havepassword']) {可以看出 !$forum['viewperm'] 就是判断用户组浏览版块权限的,只要你在版块中勾选任意一个用户组,该版块的帖子就不能显示在导读页面中。这是为了考虑性能而做的导读全局缓存。所以版块这里如果需要设置浏览权限的,可以直接到用户组中进行设置。
      根据以上得出结论:如果版块中勾选了浏览权限,帖子就不会在导读中显示。
      
是不是感觉有点复杂啊?
其实就是一句话:如果版块中勾选了浏览权限,帖子就不会在导读中显示,需要设置版块权限的,可直接到用户组中进行设置。 按照这个理解就不会有错的。

不改权限的解决办法:if($forum['type'] != 'group' && $forum['status'] > 0 && !$forum['viewperm'] && !$forum['havepassword']) {
改为
if($forum['type'] != 'group' && $forum['status'] > 0 && !$forum['havepassword']) {
页: [1]
查看完整版本: 升级Discuz! X3.1后导读页面不显示帖子,问题解疑。