discuz3.2导读显示群组的办法

发布时间:8个月前   游览量:66   

discuz论坛手机版只显示论坛帖子着实令人遗憾,只好把导读页面改成群组也显示,更改的办法实在是绕了一个圈,说难也不难。看图

discuz3.2导读显示群组的办法

首先是source\\module\\forum\\forum_guide.php,

在get_guide_list方法中加载论坛版块列表,过滤type!=group的获得完整的论坛版块,fetch读取缓存中的帖子tid,和帖子所在版块的fid和缓存中的fid做了判断,最后写进缓存中。

所以由于缓存中读取的就是除过群组的版块列表,只能读取论坛帖子。

查找foreach($_G['cache']['forums']as $fid => $forum){ 把下面的if($forum['type']!= 'group' && $forum['status']> 0 && !$forum['viewperm']&& !$forum['havepassword']){

换成if($forum['type']== 'sub' && $forum['status']> 0 && !$forum['viewperm']&& !$forum['havepassword']){

然后查找

if(empty($tids) && ($thread['isgroup']|| !in_array($thread['fid'], $fids))){

continue;

}

直接删除。

接下来要更改写版块缓存的source\\function\\cache\\cache_forums.php,只加一个3

查找$forums = C::t('forum_forum')->fetch_all_forum();

改成$forums = C::t('forum_forum')->fetch_all_forum(3);

好了,现在登录后台,工具——更新缓存,更新数据缓存。这样就在导读显示群组的帖子了。

时间比较匆忙,没有验证这样更改版块缓存对其他功能是否会产生影响,如果你真的想用这种思路,可以把缓存版块的forums改成其他名字,重写一个方法,然后在forum_guide.php加载你写缓存的那个名字,这样做比较保险。

打赏 支付宝打赏 微信打赏
请发表您的评论