获取主题信息

新手问题:在您的开发者指南(https://meta.discourse.org/t/developer-s-guide-to-discourse-themes/93648)中,您解释了如何使用 api.getCurrentUser() 获取用户信息,然后通过 console.log(user) 查看。这很简单。但是,当您在主题页面时,如何获取关于主题(Topic)的类似信息?我们尝试过 getTopic(),但不存在这样的方法。如何获取特定主题页面上主题可用的值,然后使用 console.log 查看有哪些可用内容?

有很多方法可以实现,但与其盲目猜测并可能提出不相关的建议,我想先澄清一下。

你具体想做什么?打算怎么做?

所以,我们想要实现的目标是:有一些 HTML 消息希望全站显示,但不想在每个主题中手动输入,而是希望根据主题标签自动显示。我们决定将这些消息和标签存储在设置中,并利用小部件基于 Discourse 容器来针对各个主题中的标签进行匹配。这样做是否正确?例如像这样:

 const container = Discourse.__container__;
 const topicController = container.lookup("controller:topic");
 tags = topicController.get("target.currentRoute.parent.attributes.tags");

然后将主题上的标签与设置中存储的标签进行比较,并根据比较结果决定是否显示 HTML。