打开 source\module\forum\forum_viewthread.php 文件,查找:
[CSS] 纯文本查看 复制代码 if($post['tags']) {
$post['relateitem'] = getrelateitem($post['tags'], $post['tid'], $_G['setting']['relatenum'], $_G['setting']['relatetime']);
}
换行添加:
[CSS] 纯文本查看 复制代码 $post['relateitem'] = getrelateitemx($post['fid'], $_G['setting']['relatenum']);
再查找:
[CSS] 纯文本查看 复制代码 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;
}
换行添加:
[CSS] 纯文本查看 复制代码 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;
}
然后到论坛后台界面设置相关帖子数量即可。 |