如何在用户资料中创建自定义活动标签?

我一直在尝试插件开发,虽然我已经能够让插件设置出现在管理员设置页面上,但我不太确定如何让 UI 元素出现在 Discourse UI 中。

如果有人能给我指明相关的文档,或者指出任何现有插件中可以参考的文件,那就太好了。

附注:
我正试图整体修改这些部分。

  1. 在帖子中,用户名下方(主题元数据)的用户信息区域添加一个自定义字符串。
  2. 在帖子控制区域添加一个按钮来打开一个表单。
  3. 在用户个人资料活动页面添加一个自定义选项卡。
  4. 在用户卡片和用户摘要统计信息中添加一些自定义摘要信息。
1 个赞

我推荐使用 Introducing Discourse developer toolbar

然后,寻找一个插件插槽,你可以在其中插入一个组件:

image

然后你就可以看到例如:

这是关于它的指南:

2 个赞

是否可以请求插件插槽?

我希望在用户名下方插入用户声誉评分。或者根据经验,在哪里插入会比较好。topic-map-expanded-after?

1 个赞

Sure! You can make Dev topic.

It doesn’t show for some reason, but you do have outlets around the post name:

old answer

discourse/app/assets/javascripts/discourse/app/components/post/meta-data/poster-name.gjs at main · discourse/discourse · GitHub

It requires you enable the glimmer post stream mode:

Then, they appears:

1 个赞

那么这个 outlet 是 post-metadata__after,还是使用 renderAfterWrapperOutlet("post-metadata")

1 个赞

这会是一个不错的尝试选项,是的。

1 个赞

您可以随意使用此功能,但请务必阅读设置说明中的免责声明。此模式尚未准备好投入生产使用。我们甚至不在 Meta 上使用它。

对于当前的帖子流实现,您需要使用旧的 decorateWidget API 或 addPosterIcon API:

2 个赞

抱歉,大卫,我太兴奋于新功能了,完全忽略了它仍在积极开发中的警告。:sweat_smile: 我下次会小心的。

2 个赞

为此,我使用了以下代码来渲染按钮。

api.registerValueTransformer("post-menu-buttons", ({ value: dag, context })

现在我卡住了,在使用其他组件时无法在没有错误的情况下打开模态框。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.