首先,我们需要找到并编辑两个关键文件。
### 1. 编辑 forum_forumdisplay.php 文件 定位到以下路径的文件:
`source/module/forum/forum_forumdisplay.php`
在文件中,大于809行的位置找到如下代码段:
if($thread['rushreply']) {
$rushtids[$thread['tid']] = $thread['tid'];
}
在这段代码之后,添加以下代码:
$threada= C::t('forum_attachment')->fetch_all_by_id('tid', $thread['tid'], 'aid');
$threadaid = reset($threada);
$threadpic = C::t('forum_attachment_n')->fetch_by_aid_uid($threadaid['tableid'], $threadaid['aid'], $thread['authorid']);
$thread['pic'] = $threadpic['attachment'];
完成上述操作后,您可以在列表页模板中使用 `$thread['pic']` 来加载一张封面图片。请注意,默认情况下,此方法会加载帖子中最后一张插入的图片。
### 2. 修改 table_forum_announcement.php 文件 如果您希望加载的是帖子中的第一张图片而不是最后一张,还需要对另一个文件进行修改。找到以下路径的文件:
`source/class/table/table_forum_announcement.php`
在该文件中,找到以下代码:
$orderby = 'ORDER BY '.DB::order($orderby, 'DESC');
将其修改为:
$orderby = 'ORDER BY '.DB::order($orderby, 'ASC');
### 总结 通过以上两步操作,您可以在论坛列表页加载发帖时上传的第一张图片作为封面图。这种方法不仅提高了用户体验,还使您的论坛更加美观和专业。请确保在执行这些更改之前备份原始文件,以便在需要时可以恢复。
希望这篇指南能帮助您更好地理解和实现这一功能!如果有任何疑问或需要进一步的帮助,请随时联系我们。
EyouCms 是一款简单易用的企业网站管理系统,点击了解更多。