类别图标

是的,我认为您最好的做法是始终设置正确的前缀。FontAwesome Pro 插件仅将核心图标替换为您选择的样式,有关已转换图标的列表,请查看此文件:

comments 不在该列表中,因此默认使用核心图标。

4 个赞

我已经制作了一个主题组件,用于在 Events 插件的日历视图中添加图标。

它使用了 category-icon 小部件,但该小部件不会为子类别显示图标。因此,我不得不以这种方式添加一个“强制模式”:

  api.createWidget("category-icon", {
    tagName: "div.category-icon-widget",
    html(attrs) {
      let iconItem = getIconItem(attrs.category.slug);
      let force_display = ('force_display' in attrs);
      if(iconItem && (!attrs.category.parent_category_id || force_display)) {
        let itemColor = iconItem[2] ? `color: ${iconItem[2]}` : "";
        let itemIcon = iconItem[1] != '' ? iconNode(iconItem[1]) : "";
        return h("span.category-icon", { "style": itemColor }, itemIcon);
      }
    }
  });

您是否知道有没有办法在不使用这种“hack”的情况下实现相同的效果?
如果没有,您是否考虑将其直接添加到代码中?

提前感谢。

2 个赞

嗨,Penar,这个组件在分类中导致了一个奇怪的排序问题。以下是复现步骤:

  1. 将某个分类设置为按“创建时间”降序排序,此时分类会正确显示排序结果。
  2. 访问该分类下的一个主题。
  3. 点击面包屑导航返回该分类。
  4. 此时分类变为按“最新”排序,而不是按“创建时间”排序。刷新页面后,排序会恢复正常。

我们花了不少精力才定位到是这个 TC 组件导致的问题,非常奇怪!

以下是该问题的操作录屏:

主题 1 创建较早,但有一条回复;
主题 2 创建较晚,且没有回复。

在按“创建时间”排序的情况下,主题 2 应该排在列表顶部。起初排序是正确的,但当你访问一个主题并点击面包屑返回后,主题 1 就会出现在列表顶部。

2 个赞

感谢提交详细的报告 @davidkingham,这是一个非常隐蔽的 bug,我已经发布了修复。

2 个赞

今天的更新后,我不得不关闭它,它破坏了我的起始页面和分类。我本想在那里发布截图,但我的论坛是21+的,所以@pmusaraj,我会通过私信把截图发给你。

2 个赞

感谢你的报告 @zooy0rk,该问题也已修复。

5 个赞

新更新似乎破坏了我整个网站的 UI

2 个赞

控制台有报错吗?你运行的是哪个版本的 Discourse?

1 个赞

好的,我已更新到最新的 2.6.0.beta1 版本,这似乎已解决了该问题。

4 个赞

希望能得到一些帮助,解决我遇到的问题……我试图使用这个主题组件将分类锁图标改为星形,但效果参差不齐。

它确实更改了最新话题列表中的图标:

也更改了分类下拉菜单中的图标:

但在分类列表首页(/categories)上,分类旁边的图标并未更改,仍然显示为锁形:

我是不是漏掉了什么?感觉好像有什么地方没注意到……

以下是我的主题设置:

任何能帮我解开为什么那个锁形图标仍然存在的谜团的帮助都将不胜感激!谢谢!

3 个赞

请尝试使用 far-star 作为图标名称,而不是仅使用 star
far 用于常规图标,fab 用于品牌图标。

这是该组件的一个限制,它没有与 /categories 页面挂钩。我会着手修复这个问题,但这可能首先需要修改核心代码。

3 个赞

如果您尝试将所有锁图标更改为星形,可以创建一个新的主题组件,并将以下内容添加到 Header 部分:

<script type="text/discourse-plugin" version="0.8">
      api.replaceIcon('lock', 'star');
</script>
4 个赞

谢谢 @davidkingham,太棒了!我想了想,很乐意把所有的锁图标都改成星星。而且你的代码运行得非常完美。非常感谢 :clap:

3 个赞

特此说明,核心和此组件也已更新,现在该组件会在 /categories 页面中更新锁图标。

5 个赞

https://github.com/discourse/discourse-category-icons/pull/6

请同时考虑修复子类别图标显示问题,详情见 Category Icons - #50 by md-misko

3 个赞

@ScammerRevolts @zooy0rk 哈哈,我也遇到过同样的问题。很高兴问题不算严重,我完全没想到是这个原因,因为在重建过程中我还遇到了一些其他与 PostgreSQL 相关的错误。:sweat_smile: 当时已经在准备一个新实例来恢复备份了。更新这个组件后一切正常了,我记得它落后了大约 4 个版本。

安全模式对排查问题非常有帮助:Using Safe Mode to troubleshoot issues with themes and plugins

2 个赞

已合并 @md-misko,感谢你的 PR!

我还在核心部分添加了一个小修复,以便在 /categories 的“带子类别的盒子”布局中显示这些图标。

2 个赞

当“子分类列表样式”设置为“带精选主题的方框”时,我可以看到子分类图标,但设置为仅“方框”时却看不到?

1 个赞

好的,该修复已包含在核心代码中,因此您需要重新构建您的站点。

3 个赞