原本JForum的設計是依某個主題最後一篇文章是否有附件來決定要不要顯示附件圖示, 但是通常容易讓網友錯過有檔案可以下載的文章,我們可以透過修改SQL語法來修正, 由於我的網站是用PostgreSQL作為後端資料庫, 故我需要修改WEB-INF/config/database/postgresql/postgresql.sql:
TopicModel.selectAllByForumByLimit = SELECT t.*, p.user_id AS last_user_id, p.post_time, (SELECT SUM(p.attach) \
FROM jforum_posts p \
WHERE p.topic_id = t.topic_id \
AND p.need_moderate = 0) AS attach \
FROM jforum_topics t, jforum_posts p \
WHERE (t.forum_id = ? OR t.topic_moved_id = ?) \
AND p.post_id = t.topic_last_post_id \
AND p.need_moderate = 0 \
ORDER BY t.topic_type DESC, t.topic_last_post_id DESC \
OFFSET ? LIMIT ?
TopicModel.selectByUserByLimit = SELECT t.*, p.user_id AS last_user_id, p.post_time, (SELECT SUM(p.attach) \
FROM jforum_posts p \
WHERE p.topic_id = t.topic_id \
AND p.need_moderate = 0) AS attach \
FROM jforum_topics t, jforum_posts p \
WHERE p.post_id = t.topic_last_post_id \
AND t.user_id = ? \
AND p.need_moderate = 0 \
AND t.forum_id IN(:fids:) \
ORDER BY t.topic_last_post_id DESC \
OFFSET ? LIMIT ?
登入管理介面後清除主題的Cache即可