# 主题列表预览（旧版）

**URL:** https://meta.discourse.org/t/topic-list-previews-legacy/101646
**Category:** Plugin
**Tags:** deprecated
**Created:** [2018年十一月9日 03:56 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646 "2018-11-09T03:56:38Z")
**Posts on this page:** 20
**Page:** 13

<div class="post-metadata">

### Author: ![nory](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nory/32/173397_2.png) [@nory](https://meta.discourse.org/u/nory)
#### Post date: [2020年七月7日 15:16 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1185 "2020-07-07T15:16:05Z")

</div>

你好，能否从使用 Imgur 上传的帖子的第一张图片中获取缩略图？  
谢谢！

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月7日 15:41 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1186 "2020-07-07T15:41:09Z")

</div>

我不这么认为。缩略图仅从上传内容生成。不过，与 Discourse 的常规做法一样，上传内容可以远程存储，例如存储在 S3 上。

---

<div class="post-metadata">

### Author: ![davidkingham](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidkingham/32/119528_2.png) [@davidkingham](https://meta.discourse.org/u/davidkingham)
#### Post date: [2020年七月8日 03:03 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1187 "2020-07-08T03:03:24Z")

</div>

我想我找到了一个小 bug。我将分类设置为按创建日期排序，主题分类（TC）也遵循这一设置，一切运行正常。但当有人回复某个主题后返回分类页面时，该主题会显示在页面顶部，直到用户刷新页面后，它才会回到正确的位置。这可能与核心代码中的这个修复有关：[https://meta.discourse.org/t/topic-list-sorting-bug/154236。我已验证，目前核心代码中的排序功能已正常工作。](https://meta.discourse.org/t/topic-list-sorting-bug/154236%E3%80%82%E6%88%91%E5%B7%B2%E9%AA%8C%E8%AF%81%EF%BC%8C%E7%9B%AE%E5%89%8D%E6%A0%B8%E5%BF%83%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9A%84%E6%8E%92%E5%BA%8F%E5%8A%9F%E8%83%BD%E5%B7%B2%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E3%80%82)

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 17:34 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1189 "2020-07-10T17:34:10Z")

</div>

我有一个小功能建议。

如果管理员能够为帖子设置缩略图，而无需将图片作为帖子内容的一部分，那就太好了。提供一个缩略图 URL 选项，使其显示在主题列表中，这对于管理员创建的元主题来说是个很好的选择，因为您可以为多个主题使用相同的缩略图/图标。

例如，在创建解释如何使用某个类别的帖子时，我创建了“？”问号“图标”/图片应用到该帖子，使其与周围内容风格一致。

目前，我必须为创建的每个帖子上传相同的图片。

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 17:36 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1190 "2020-07-10T17:36:30Z")

</div>

另外注意到缩略图在移动视图下未进行缩放或裁剪。

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:12 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1191 "2020-07-10T18:12:34Z")

</div>

不太明白您的意思，但请随意发挥，使用您自己的 CSS。

> [@jamesmarkcook](#):
>
> 为话题列表提供缩略图 URL 是一个很好的选项，尤其适用于管理员创建的元话题，您可以在多个话题中使用相同的缩略图或图标。

实际上已经存在备用图片的选项。

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:14 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1193 "2020-07-10T18:14:51Z")

</div>

> [@merefield](#):
>
> 已经有回退图片的选项了。

这将适用于所有没有图片的帖子。我指的是为多个（特定）帖子复用同一张图片。我正在进行网站迁移，但等我设置好一切后，会在这里贴一张截图来说明我的意思。

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:15 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1194 "2020-07-10T18:15:17Z")

</div>

它已经适用于所有没有图片的主题

 ![image](https://global.discourse-cdn.com/meta/original/3X/0/7/07c29491bd31ab8ddd396edaa511bc8411f09fd3.png)

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:16 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1195 "2020-07-10T18:16:06Z")

</div>

> [@merefield](#):
>
> 我不太明白你的意思，但欢迎随意使用你自己的 CSS。

对我来说，图片在移动设备上保持原始宽高比，但这打乱了布局。在桌面上看起来一切正常。

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:16 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1196 "2020-07-10T18:16:49Z")

</div>

那就用 CSS 来修复吧：slight\_smile 例如设置 `max-width`，或者按你喜欢的其他方式处理。

或者在移动端使用“瓷砖”布局，这样既能保证宽高比，又不会破坏任何格式。

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:25 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1197 "2020-07-10T18:25:30Z")

</div>

让我们重新开始。

在为帖子选择缩略图时，我希望能够提供一个图片 URL。这样，我就可以为特定的_管理员创建_的帖子（例如“操作指南”主题或“分类指南”等）重复使用我选择的图片。

我意识到有一个“缺失图片”的默认图片会应用于所有没有图片的帖子，但这并不是我所需要的。

也许我提出的需求超出了该插件的范围，但这感觉像是为这个优秀的插件添加一个相当简单的功能。

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:27 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1198 "2020-07-10T18:27:52Z")

</div>

啊，我明白了，懂了。

是的，不幸的是，原始数据必须位于以下位置之一：

1. 在设置中
2. 在原始帖子中

这主要是为了避免过多地修改后端，并使主题组件成为插件的可行替代方案，因为插件无权修改后端。

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:28 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1199 "2020-07-10T18:28:21Z")

</div>

我不确定你是否误解了我的意思。我所指的问题似乎是插件中的一个真实漏洞。要求用户通过 CSS 覆盖它并不是正确的做法。

在移动设备上，主题列表中的缩略图尺寸不正确，但在桌面端是正常的。我觉得它们在移动端也应该正常显示。如果需要，我不介意亲自修复这个问题，但我想先将其作为漏洞提出，这对插件作者来说可能是一个简单的修复。

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:30 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1200 "2020-07-10T18:30:00Z")

</div>

> [@merefield](#):
>
> 让主题组件成为插件的可行替代方案

啊，我忘了它是一个组件。我现在明白为什么这不是一个简单的添加了。谢谢，我暂时得给每篇帖子添加图片。

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:30 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1201 "2020-07-10T18:30:33Z")

</div>

确实存在一个插件版本。但我希望尽量保持两者之间的差异最小化，并且不存储除 Discourse 本身已存储数据之外的额外信息。

Discourse 过去会将图片保存为 ‘image\_url’，我们或许曾可以利用这一点，但最近 Discourse 接管了缩略图生成逻辑，图片现在是通过 ID 进行引用的。实现这一功能并非完全不可能，但对于免费软件来说，这并非优先事项。

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:38 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1202 "2020-07-10T18:38:02Z")

</div>

我现在把自己搞糊涂了 😆

这其实是我安装的插件。如果是这样的话，我想可以通过为主题或帖子添加自定义字段来实现。但我还没有查看最新的 Discourse 代码，因此不确定这是否仍然是推荐的做法。

> [@merefield](#):
>
> 但这并不是免费软件的优先事项。

完全合理。如果我真的非常想要这个功能，我就需要自己研究如何添加。谢谢

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:38 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1203 "2020-07-10T18:38:10Z")

</div>

是的，或许设置可以改进，以便开箱即用提供更简单的灵活性，但通常认为你可以通过 CSS 根据自己的喜好修改缩略图的呈现方式。或许一个独立于桌面设置的移动设置就足够了，但固定宽度和高度设置的问题在于它会破坏图像的宽高比，然后你还要考虑裁剪等问题，结果就是陷入一个设置复杂的“麻烦漩涡”，不如直接交给 CSS 处理？

 ![image](https://global.discourse-cdn.com/meta/original/3X/9/1/91c32960b49265ad69e7266eddadd6af4fb75a91.png)

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:41 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1204 "2020-07-10T18:41:12Z")

</div>

> [@merefield](#):
>
> 固定宽度和高度设置的问题在于它会破坏图像的纵横比，随后你不得不考虑裁剪等问题。最终你会陷入一个设置极其复杂的“麻烦泥潭”。

我想我困惑的地方就在这里，因为在桌面端使用固定宽度和高度时，图像似乎裁剪得很完美。有没有什么原因导致这在移动设备上无法实现？

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年七月10日 18:41 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1205 "2020-07-10T18:41:57Z")

</div>

您已将高度设置为零吗？

---

<div class="post-metadata">

### Author: ![jamesmarkcook](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamesmarkcook/32/168563_2.png) [@jamesmarkcook](https://meta.discourse.org/u/jamesmarkcook)
#### Post date: [2020年七月10日 18:44 UTC](https://meta.discourse.org/t/topic-list-previews-legacy/101646/1206 "2020-07-10T18:44:23Z")

</div>

宽度和高度均设置为 100。

将高度更改为 0 后，桌面端显示效果变成了移动端。因此，看起来移动端并未应用该高度设置，因为即使高度设置为大于 0 的值，它仍保持了宽高比。

[上一頁](https://meta.discourse.org/t/topic-list-previews-legacy/101646.md?page=12)

[下一頁](https://meta.discourse.org/t/topic-list-previews-legacy/101646.md?page=14)
