如何在插件中访问Category自定义字段

首先,本插件需要获取 Category 的 custom_fields,以便在 before-create-topic 插件出口中创建按钮。我还需要在 after-topic-footer-main-buttons 连接器中使用该数据。

我可能遗漏了某个极其简单的细节……

在初始化器中,我可以使用以下代码“大致”获取类别类:

const controller = api.container.lookup("controller:navigation/category");

打印该对象时,我可以看到各种属性。在开发控制台中,我可以看到 category: (...)。点击 (..) 后,我能看到 custom_fields 以及我正在寻找的字段。如何从插件 API 中访问这些数据?

我尝试过多种“获取”该属性的方式,但所有方法都返回 undefined

你可以退一步说明一下你想做什么。大多数情况下,你需要的数据已经可用。如果没有,你可以在主题中使用 Ajax 拉取数据,或者在插件中将其添加到序列化器中。

我试图从我的分类中获取一个自定义字段。抱歉之前表述不够清楚,我已在原帖中更新了更多信息。

1 个赞

这比我之前了解的信息要多……在 plugin.rb 中大致是这样的:

  add_to_serializer(:category, :your_plugin) do
    some_stuff
  end

不过,我认为你真正想做的,是查找一些可能向序列化器添加内容的其他插件。我觉得 Topic Ratings PluginTopic List Previews (legacy) 是很好的参考对象。希望一切会变得“显而易见”(当然,前提是你像我一样,已经花了好几个小时去折腾其他一些看似“显而易见”的事情之后)。

该变量已添加到序列化器中。我试图在 JS 中访问这些变量。我原以为可以从我在原帖中提到的 controller 变量中获取,但我不明白如何访问它。

1 个赞