我该如何使用 api.registerTopicFooterButton?

如在以下位置所述:

如果我想在此处注册一个 DButton,该 DButton 可能执行 DButton 的 @action 中指定的某个操作,那么我应该在 action 中填入什么?

克隆 GitHub - discourse/all-the-themes

运行 ./reset-all-repos

grep -r registerTopicFooterButton

查找这些示例:

official/discourse-custom-topic-button-component/common/head_tag.html:  api.registerTopicFooterButton({
official/discourse-quick-whisper/javascripts/discourse/initializers/discourse-quick-whisper.js:      api.registerTopicFooterButton({
official/discourse-topic-group-button-component/javascripts/discourse/api-initializers/topic-group-button.js:  api.registerTopicFooterButton({

您希望在用户单击按钮时发生什么?

2 个赞

比如,将用户重定向到 /about
等等:我应该把指定的 @action 放到那里吗?所以如果我有一个名为 redirectUserToAbout 的操作,我应该写 action: action(context) { this.redirectUserToAbout() } 吗?

编辑:看起来这里有一个很好的例子:
https://github.com/discourse/discourse-custom-topic-button-component/blob/main/common/head_tag.html