- UID
- 1
- 阅读权限
- 200
- 注册时间
- 2022-3-27
- 积分
- 2672
- 最后登录
- 2025-4-9
TA的每日心情 | 擦汗 2023-7-12 20:55 |
---|
签到天数: 8 天 连续签到: 8 天 [LV.3]偶尔看看II
管理员
- 积分
- 2672
   
|
打开 source\module\forum\forum_viewthread.php 文件,查找:
- if($post['tags']) {
- $post['relateitem'] = getrelateitem($post['tags'], $post['tid'], $_G['setting']['relatenum'], $_G['setting']['relatetime']);
- }
复制代码
换行添加:
- $post['relateitem'] = getrelateitemx($post['fid'], $_G['setting']['relatenum']);
复制代码
再查找:
- function getrelateitem($tagarray, $tid, $relatenum, $relatetime, $relatecache = '', $type = 'tid') {
- $tagidarray = $relatearray = $relateitem = array();
- $updatecache = 0;
- $limit = $relatenum;
- if(!$limit) {
- return '';
- }
- foreach($tagarray as $var) {
- $tagidarray[] = $var['0'];
- }
- if(!$tagidarray) {
- return '';
- }
- if(empty($relatecache)) {
- $thread = C::t('forum_thread')->fetch_thread($tid);
- $relatecache = $thread['relatebytag'];
- }
- if($relatecache) {
- $relatecache = explode("\t", $relatecache);
- if(TIMESTAMP > $relatecache[0] + $relatetime * 60) {
- $updatecache = 1;
- } else {
- if(!empty($relatecache[1])) {
- $relatearray = explode(',', $relatecache[1]);
- }
- }
- } else {
- $updatecache = 1;
- }
- if($updatecache) {
- $query = C::t('common_tagitem')->select($tagidarray, $tid, $type, 'itemid', 'DESC', $limit, 0, '<>');
- foreach($query as $result) {
- if($result['itemid']) {
- $relatearray[] = $result['itemid'];
- }
- }
- if($relatearray) {
- $relatebytag = implode(',', $relatearray);
- }
- C::t('forum_thread')->update($tid, array('relatebytag'=>TIMESTAMP."\t".$relatebytag));
- }
- if(!empty($relatearray)) {
- rsort($relatearray);
- foreach(C::t('forum_thread')->fetch_all_by_tid($relatearray) as $result) {
- if($result['displayorder'] >= 0) {
- $relateitem[] = $result;
- }
- }
- }
- return $relateitem;
- }
复制代码
换行添加:
- function getrelateitemx($fid, $relatenum)
- {
- $limit = $relatenum;
- if (!$limit) {
- return '';
- }
- $hotlist=DB::fetch_all("SELECT tid,subject,fid FROM ".DB::table('forum_thread')." where fid=$fid and displayorder>=0 order by rand() LIMIT 0,$limit");
-
- return $hotlist;
- }
复制代码
然后到论坛后台界面设置相关帖子数量即可。 |
上一篇:Discuz! 使用电脑访问discuz手机版或触屏版下一篇:如何在 discuz 帖子里添加 APlayer 音乐播放器
|