首先,本插件需要获取 Category 的 custom_fields,以便在 before-create-topic 插件出口中创建按钮。我还需要在 after-topic-footer-main-buttons 连接器中使用该数据。
我可能遗漏了某个极其简单的细节……
在初始化器中,我可以使用以下代码“大致”获取类别类:
const controller = api.container.lookup("controller:navigation/category");
打印该对象时,我可以看到各种属性。在开发控制台中,我可以看到 category: (...)。点击 (..) 后,我能看到 custom_fields 以及我正在寻找的字段。如何从插件 API 中访问这些数据?
我尝试过多种“获取”该属性的方式,但所有方法都返回 undefined。
pfaffman
(Jay Pfaffman)
2
你可以退一步说明一下你想做什么。大多数情况下,你需要的数据已经可用。如果没有,你可以在主题中使用 Ajax 拉取数据,或者在插件中将其添加到序列化器中。
我试图从我的分类中获取一个自定义字段。抱歉之前表述不够清楚,我已在原帖中更新了更多信息。
1 个赞
pfaffman
(Jay Pfaffman)
4
这比我之前了解的信息要多……在 plugin.rb 中大致是这样的:
add_to_serializer(:category, :your_plugin) do
some_stuff
end
不过,我认为你真正想做的,是查找一些可能向序列化器添加内容的其他插件。我觉得 Topic Ratings Plugin 或 Topic List Previews (legacy) 是很好的参考对象。希望一切会变得“显而易见”(当然,前提是你像我一样,已经花了好几个小时去折腾其他一些看似“显而易见”的事情之后)。
该变量已添加到序列化器中。我试图在 JS 中访问这些变量。我原以为可以从我在原帖中提到的 controller 变量中获取,但我不明白如何访问它。
1 个赞