是的,请按照本指南操作:Replace Discourse's default SVG icons with custom icons in a theme
2 个赞
顶一下,我也有同样的问题。
Discourse 开箱即用,帖子底部的链接图标被用作“分享”按钮(它不仅仅是链接,还提供社交媒体分享功能),但编辑器中编辑链接时使用的却是同一个图标。
这两个功能完全不同,图标理应有所区别;或者,如果有人知道如何覆盖帖子编辑器中的全局设置,我将不胜感激。
2 个赞
最近将“点赞”图标从“心形”改为了“阅读者”。
在更改所有“点赞”图标方面取得了很大成功,但通知下拉列表中的那个图标除外。

我使用了以下脚本头,并尝试了所有能想到的选项:
<script type="text/discourse-plugin" version="0.8">
api.replaceIcon('d-unliked', 'book-reader');
api.replaceIcon('d-liked', 'book-reader');
api.replaceIcon('heart', 'book-reader');
api.replaceIcon('new read', 'book-reader');
api.replaceIcon('d-icon-heart', 'book-reader');
api.replaceIcon('notification.liked', 'book-reader'); // 通知
api.replaceIcon('notification.liked_2', 'book-reader'); // 通知
api.replaceIcon('notification.liked_many', 'book-reader'); // 通知
</script>
心形图标在平台各处都已被替换,唯独通知下拉列表中的图标没有变化……
有什么建议吗?
1 个赞
也尝试添加以下代码:
api.replaceIcon('notification.liked_consolidated', 'book-reader');
1 个赞
感谢回复,Daniela!
已添加,但仍未见变化。通知图标仍然显示为心形。
<script type="text/discourse-plugin" version="0.8">
api.replaceIcon('d-unliked', 'book-reader');
api.replaceIcon('d-liked', 'book-reader');
api.replaceIcon('heart', 'book-reader');
api.replaceIcon('new read', 'book-reader');
api.replaceIcon('d-icon-heart', 'book-reader');
api.replaceIcon('notification.liked', 'book-reader');
api.replaceIcon('notification.liked_2', 'book-reader');
api.replaceIcon('notification.liked_many', 'book-reader');
api.replaceIcon('notification.liked_consolidated', 'book-reader');
</script>
除了这个实例外,其他所有地方的心形图标都已成功替换为 book-reader 图标。
我原以为是图标冲突,所以将“book-reader”改成了“pencil”,因为我知道通知可以使用该图标。但仍未奏效,显示的仍然是心形。
有什么建议吗?
我尝试将 envelope 图标替换为 inbox 图标,但更改未应用于用户菜单面板内的图标。它们是否需要以特定方式定位?
我的代码片段:
// {theme}/javascripts/discourse/api-initializers/init-theme.gjs
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer((api) => {
api.replaceIcon("envelope", "inbox");
});
您好 @jrgong ![]()
您可以在此处找到包含通知的图标替换项。
将此行添加到您的代码段:
api.replaceIcon("notification.private_message", "inbox");
1 个赞