# 如何从插件模板确定类别发布权限

**URL:** https://meta.discourse.org/t/how-to-determine-category-posting-permissions-from-plugin-templates/194956
**Category:** Development
**Created:** [2021年六月25日 00:17 UTC](https://meta.discourse.org/t/how-to-determine-category-posting-permissions-from-plugin-templates/194956 "2021-06-25T00:17:57Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Connor\_Parrish](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/connor_parrish/32/225463_2.png) [@Connor\_Parrish](https://meta.discourse.org/u/Connor_Parrish)
#### Post date: [2021年六月25日 00:17 UTC](https://meta.discourse.org/t/how-to-determine-category-posting-permissions-from-plugin-templates/194956/1 "2021-06-25T00:17:57Z")

</div>

我知道你可以使用 `topic.details.can_create_post` 来判断用户是否可以创建回复。它在 Handlebars 模板中被用来决定是否渲染“回复”按钮。

我试图确定类别权限。例如，如果某个类别要求用户达到 TL3 级别才能发布回复，我希望避免渲染我修改后的“回复”按钮。

我在 #howto 中找不到与此用例相关的内容。

---

<div class="post-metadata">

### Author: ![osioke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/osioke/32/238946_2.png) [@osioke](https://meta.discourse.org/u/osioke)
#### Post date: [2021年六月25日 11:15 UTC](https://meta.discourse.org/t/how-to-determine-category-posting-permissions-from-plugin-templates/194956/2 "2021-06-25T11:15:38Z")

</div>

你尝试过查阅现有技术吗？或许可以浏览一下某个利用类别权限来运行的插件的代码，看看它是如何实现的。

不，我一时想不起有这样的插件。

---

<div class="post-metadata">

### Author: ![Connor\_Parrish](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/connor_parrish/32/225463_2.png) [@Connor\_Parrish](https://meta.discourse.org/u/Connor_Parrish)
#### Post date: [2021年六月25日 19:01 UTC](https://meta.discourse.org/t/how-to-determine-category-posting-permissions-from-plugin-templates/194956/3 "2021-06-25T19:01:16Z")

</div>

据我所知，我还没找到相关内容。

我在查看 Discourse 源码时发现了这段代码，但我不认为我使用的 plugin-outlet 能够访问 `category.permissions.@each.permission_type`。  
（位于 `edit-category-security.js` 中）

```plaintext
@discourseComputed("category.permissions.@each.permission_type")
  everyonePermission(permissions) {
    return permissions.findBy("group_name", "everyone");
  },

```

---

<div class="post-metadata">

### Author: ![Connor\_Parrish](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/connor_parrish/32/225463_2.png) [@Connor\_Parrish](https://meta.discourse.org/u/Connor_Parrish)
#### Post date: [2021年六月25日 19:02 UTC](https://meta.discourse.org/t/how-to-determine-category-posting-permissions-from-plugin-templates/194956/4 "2021-06-25T19:02:29Z")

</div>

目前我发现的唯一暴露项是 `topic.category.permission`，如果允许发布新主题，其值为 `1`；如果不允许，则为 `null`。
