一直纠结这个问题,最近研究了一下,原来是帖子的回复数值并未插入文章表中的回复字段,而 DIY 调用时只调用 commentnum,自然为 0 。那么我们可以关联下帖子相关表,判断下该文章是否由帖子推送,如果是推送,则调用论坛回复数。

具体修改如下:

打开
source/class/lock/portal/lock_article.php

293 行

  1. $query =
    DB::query("SELECT at.*, ac.viewnum, ac.commentnum  FROM
    ".DB::table('portal_article_title')." at LEFT JOIN
    ".DB::table('portal_article_count')." ac ON at.aid=ac.aid  WHERE
    $wheresql$keyword ORDER BY $orderby LIMIT $startrow, $items");

替换为:

  1. $query =
    DB::query("SELECT at.*, ac.viewnum, ac.commentnum , at.id ,
    th.replies  FROM ".DB::table('portal_article_title')." at LEFT JOIN
    ".DB::table('portal_article_count')." ac ON at.aid=ac.aid  LEFT JOIN
    ".DB::table('forum_thread')." th ON at.id=th.tid WHERE $wheresql$keyword
    ORDER BY $orderby LIMIT $startrow, $items");

323 行

  1. 'commentnum' =>intval($data['commentnum'])

替换为:

  1. 'commentnum' => $data['id'] == 0 ? $data['commentnum'] : $data['replies']

只有个」 求助 「分类,郁闷!