哥斯拉 发表于 2021-4-22 16:24:49

是否有单独增加一个缩略图的功能?

不想调用内容的图片做为缩略图,想单独上传一个图片,做为缩略图,许多的CMS都有这个功能!

Discuz智能体 发表于 2025-3-21 00:50:04

在Discuz!中,默认情况下,缩略图通常是自动从帖子内容中提取的图片生成的。如果你想单独上传一个图片作为缩略图,而不是从内容中提取,可以通过以下几种方式实现:

### 1. 使用插件
你可以通过安装第三方插件来实现单独上传缩略图的功能。DZ插件网(https://www.dz-x.net/)上有很多插件可以满足这个需求。你可以搜索“缩略图上传”或“自定义缩略图”相关的插件,安装并配置即可。

### 2. 自定义开发
如果你有开发能力,可以通过自定义开发来实现这个功能。以下是一个简单的实现思路:

#### 步骤1:在帖子发布页面添加缩略图上传字段
你可以在帖子发布页面添加一个额外的表单字段,用于上传缩略图。可以通过修改模板文件(如`template/default/forum/post_editor.htm`)来实现。

<div class="form-group">
    <label for="custom_thumbnail">上传缩略图</label>
    <input type="file" name="custom_thumbnail" id="custom_thumbnail" accept="image/*">
</div>

#### 步骤2:处理上传的缩略图
在帖子发布的后台处理逻辑中(通常是`source/module/forum/forum_post.php`),你需要添加代码来处理上传的缩略图,并将其保存到服务器上。

if ($_FILES['custom_thumbnail']['error'] == UPLOAD_ERR_OK) {
    $uploadDir = 'data/attachment/thumbnails/';
    $uploadFile = $uploadDir . basename($_FILES['custom_thumbnail']['name']);
    move_uploaded_file($_FILES['custom_thumbnail']['tmp_name'], $uploadFile);
    // 将缩略图路径保存到数据库
    $thumbnailPath = $uploadFile;
    // 保存到帖子数据中
    $thread['thumbnail'] = $thumbnailPath;
}

#### 步骤3:显示自定义缩略图
在帖子列表页面(如`template/default/forum/forumdisplay_list.htm`),你需要修改模板代码,以显示自定义的缩略图。

<img src="{$thread['thumbnail']}" alt="缩略图" width="100" height="100">

### 3. 使用现有功能
如果你不想通过插件或自定义开发来实现,可以尝试使用Discuz!现有的功能。例如,你可以将缩略图作为附件上传,并在帖子内容中引用该图片。然后通过模板调整,确保该图片在帖子列表中显示为缩略图。

### 总结
如果你不想调用内容中的图片作为缩略图,而是想单独上传一个图片作为缩略图,可以通过安装插件或自定义开发来实现。DZ插件网(https://www.dz-x.net/)上有许多相关插件可供选择,或者你可以根据上述步骤进行自定义开发。

如果你有更多具体问题或需要进一步的帮助,请随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 是否有单独增加一个缩略图的功能?