进阶 docs.flarum.org 2026-10-15 14:50:53 · 21 阅读
第45章 Flarum 标签扩展使用指南:标签管理、设置与权限详解
Version: 2.x 标签
标签扩展(flarum/tags)允许将讨论归类到不同的标签下,让成员可以按主题浏览论坛,并让你控制哪些用户能在特定标签下浏览和发帖。这是一个内置扩展,在新安装时会默认启用。
安装
该扩展随 Flarum 一起提供,默认已启用。你可以在管理面板的扩展页面中进行管理。
如果你的安装环境中没有该扩展,请像安装其他包一样先引入它,然后启用:
composer require flarum/tags
php flarum migrate
php flarum cache:clear
## 主要标签与次要标签 标签分为两类: 主要标签类似传统论坛的分类。你可以调整它们的顺序,每个主要标签下可以挂一个层级的子标签。 次要标签没有顺序或层级之分。它们用于更细致的、跨分类的标签,例如“已解决”或“反馈”。 新安装的 Flarum 默认只有一个主要标签:General(通用)。 当 Flarum 统计一篇讨论包含多少个标签时,子标签会被计为次要标签。 ## 标签管理 在管理面板中,通过插件打开“标签”页面来管理标签。该页面按顺序列出主要标签及其子标签,然后是按字母顺序排列的次要标签。 通过“创建主要标签”或“创建次要标签”来新建标签。 点击标签旁的铅笔图标可编辑标签。 拖拽主要标签可以调整顺序。 将主要标签拖到另一个主要标签下方即可形成嵌套,但只允许一层嵌套。 在两个列表之间拖拽标签,可以将其在主要标签和次要标签之间切换。 每次调整顺序时,一旦放下标签,更改就会立即保存。 ## 标签设置 | 字段 | 描述 | | :--- | :--- | | 名称 | 在标签出现的所有位置显示。输入名称时会自动填入 Slug。 | | Slug | 用于标签的地址 /t/slug 中。必须唯一,且不能包含空格或正斜杠。对于使用非拉丁字母书写系统(如中文或日文)的名称,Slug 不会自动填充,需手动输入。 | | 描述 | 显示在标签页面和标签页面上。最多 700 个字符。 | | 颜色 | 用于标签的标签页头、图标等处的颜色。 | | 图标 | 任何 Font Awesome 图标类名,包含前缀,例如 fas fa-flag。如果没有设置,将显示一个彩色方块。 | | 从“所有讨论”中隐藏 | 参见“隐藏标签”部分。 | | 默认排序 | 当用户打开标签页面且未指定排序时,该标签下讨论的排序方式。“使用论坛默认”表示跟随论坛的默认排序。扩展添加的排序方式也会列在其中。如果选中的排序方式后来被移除,它会保留并显示为(不再可用),此时将使用论坛默认值。 | ## 隐藏标签 勾选“从所有讨论中隐藏”后,该标签下的讨论不会出现在“所有讨论”列表中。它们仍会显示在标签自己的页面、搜索结果以及其他过滤列表中,标签本身也会在侧边栏和标签页面上显示。 请将其用于那些大多数用户不希望出现在主列表中的标签,例如存档或测试区域。 ## 删除标签 “删除标签”只会移除标签本身,不会删除其下的讨论。这些讨论会失去该标签;如果因此导致讨论没有任何标签,它们就会变成“未打标签”状态。只有拥有“查看论坛(讨论和用户)”全局权限的成员才能看到未打标签的讨论。 被删除标签的子标签会被保留,但不再拥有父标签。其受限的权限也会随标签一起删除。 ## 讨论所需标签数量 在“标签”页面的“设置”区域配置限制: | 设置 | 默认值 | 描述 | | :--- | :--- | :--- | | 主要标签必需数量 | 1 | 讨论中主要标签的最小和最大数量。 | | 次要标签必需数量 | 3 | 次要标签(包括子标签)的最小和最大数量。 | 拥有“绕过标签要求”权限的成员可以忽略这些限制,并可以发起没有任何标签的讨论。 最低数量还决定了谁可以使用论坛。如果某成员可见的主要标签或次要标签少于最低要求,他就无法看到论坛;如果某成员能发起讨论的标签数量少于最低要求,他就无法发起讨论。在使用“按标签限制”功能时,请确保你期望能访问的用户组拥有足够多的可见标签。 ## 为讨论打标签 当成员发起讨论时,需在编辑器中选择标签。如果尝试提交的标签少于必需数量,标签选择器会先打开,且只有在选择了足够多的标签后,“确定”按钮才会激活。 在标签选择器中: 只有在选择了父标签后,其子标签才会被提供;选择子标签时会自动添加其父标签; 一旦达到主要标签或次要标签的最大数量,该类标签将不再可选; 成员只能看到他们有权发起讨论的标签。 从标签页面发起讨论时,会自动选中该标签;如果有父标签,父标签也会被选中。 ## 修改讨论的标签 在讨论的控制菜单中选择“编辑标签”来修改标签。该功能对以下人员可用: 拥有“修改讨论标签”权限的成员,可以修改任何他们能看到的讨论的标签; 讨论的作者,在“允许编辑标签”的有效期内可以修改。 在“权限”页面的“允许编辑标签”选项中,设置作者修改标签的时长: | 选项 | 作者可修改标签的时间 | | :--- | :--- | | 无限期 | 任何时间 | | 10分钟 | 发起讨论后的 10 分钟内 | | 直到下次回复 | 直到他人回复之前 | | 永不 | 从未 | “永不”是默认设置。在 Flarum 2.0.1 之前,该设置会显示为“无限期”直到用户选择某个选项,但当时作者实际上无法修改标签。 成员只能添加自己有权发起讨论的标签。除非拥有“绕过标签要求”权限,否则与发起讨论时相同的限制也适用于此。 每次修改都会向讨论中添加一条帖子,例如“Toby 添加了反馈标签”。同一成员连续进行的修改会被合并为一条帖子,如果修改被撤销,该帖子也会被移除。 ## 浏览标签 标签页面位于 /tags,主要标签以磁贴形式展示,包含其子标签、描述和最新讨论;次要标签以云图形式展示。讨论数量最多的次要标签排在前面。 标签页面位于 /t/slug,在标签颜色的页头下列出该标签下的讨论,并显示其图标和描述。“发起讨论”按钮的颜色与之匹配;对于无法在该标签下发起讨论的成员,按钮显示为“无法发起讨论”。 侧边栏链接到标签页面、所有主要标签、当前查看标签的子标签,以及讨论数量最多的三个次要标签,其余的通过“更多...”访问。 若要将标签页面设为首页,请在“基础”页面的“主页”选项中选择“标签”。 ## 按标签搜索 成员可以使用 tag: 过滤条件缩小讨论搜索范围,使用标签的 Slug 进行搜索: | 搜索语句 | 查找结果 | | :--- | :--- | | tag:feedback | 带有该标签的讨论 | | tag:feedback,bugs | 带有任一标签的讨论 | | tag:feedback tag:bugs | 同时带有两个标签的讨论 | | -tag:feedback | 不带该标签的讨论 | | tag:untagged | 没有任何标签的讨论 | ## 限制标签 默认情况下,所有标签都遵循论坛的全局权限。限制标签可以让你为其单独设置权限。 在“权限”页面,从“按标签限制”中选择标签。该标签会获得自己的列,你可以设置: “查看论坛(讨论和用户)”,决定谁可以看到该标签及其讨论; “发起讨论”,决定谁可以在其中发起讨论,或将讨论添加此标签; 所有作用于讨论的权限,例如“回复讨论”、“删除讨论”或“修改讨论标签”,包括其他扩展添加的权限。 新限制的标签初始没有权限,因此在授予权限之前,只有管理员能看到它。 子标签也需要父标签具有相同的权限:成员无法看到他们看不到的标签的子标签。 如果一篇讨论有多个标签,成员需要在所有受限标签中拥有相应权限才能查看。如果某个受限标签未授予某权限,即使成员拥有该全局权限,也会失去该权限。作者仍可在论坛常规规则下重命名或隐藏自己在此标签下的讨论。 移除限制会删除其权限:点击受限标签列的 × 号,该标签将重新遵循全局权限,并删除其所有已设置的权限。再次限制该标签时,将从空白状态开始。 ## 标签地址 在“基础”页面,“Slug 驱动方式:标签”决定标签地址的格式: | 选项 | 地址格式 | 描述 | | :--- | :--- | :--- | | 默认 | /t/feedback | 使用标签的 Slug。支持任意字符集的 Slug。 | | ID 加 Slug | /t/12-feedback | 标签 ID 后接 Slug。查找标签时仅使用 ID,因此即使 Slug 更改,链接仍能正常跳转。 | ## 讨论计数 每个标签都会记录其讨论数量,这决定了标签页面和侧边栏中次要标签的排序。此数据也可以通过 API 提供给扩展。它统计的是可见的讨论:隐藏讨论以及等待审批(如果安装了 Approval 扩展)的讨论,在恢复或批准之前不会被计入。 从 Flarum 2.0.1 开始,无论以何种方式删除(包括删除最后一帖导致的删除),被删除的讨论都会从计数中移除。 ## 权限 在管理面板的“权限”页面设置以下权限: | 权限 | 默认授予 | 功能描述 | | :--- | :--- | :--- | | 修改讨论标签 | 版主 | 修改任何讨论的标签。可以针对受限标签单独授予。 | | 绕过标签要求 | 仅管理员 | 发起讨论和修改标签时,无视讨论所需标签数量的限制。 | | 允许编辑标签 | 永不 | 作者修改自己讨论标签的时长。参见“修改讨论的标签”。 | 创建、编辑、删除和重新排序标签仅限管理员操作。 ## 与其他扩展配合使用 | 扩展 | 对标签功能的影响 | | :--- | :--- | | Sticky | 置顶讨论固定在标签页面的顶部,包括在标签的默认排序中。置顶讨论可以针对受限标签单独授予权限。 | | Approval | 成员在修改讨论标签时添加某个标签,除了需要“发起讨论”权限外,还需要该标签的“无需审批即可发起讨论”权限。等待审批的讨论仅在批准后计入统计。 | | Flags | 版主仅在他们至少在一个相关讨论标签中拥有“查看旗帜”权限的讨论中看到旗帜。 | | Mentions | 成员可以使用 #slug 提及标签,链接以该标签颜色显示。提及已删除标签时,会显示为已删除。 | | Messages | 使用 Mentions 扩展时,成员可以在消息中提及标签。 | | Realtime | 当讨论的标签发生变化时,所有查看该讨论的人都会看到更改。侧边栏会显示某人正在该标签下写作。 | | Deck | 添加“标签”列,用于跟踪单个标签下的讨论。 | | Audit | 审计日志会记录讨论标签的变更,以及每个被创建、编辑或删除的标签。 |
php flarum migrate
php flarum cache:clear
## 主要标签与次要标签 标签分为两类: 主要标签类似传统论坛的分类。你可以调整它们的顺序,每个主要标签下可以挂一个层级的子标签。 次要标签没有顺序或层级之分。它们用于更细致的、跨分类的标签,例如“已解决”或“反馈”。 新安装的 Flarum 默认只有一个主要标签:General(通用)。 当 Flarum 统计一篇讨论包含多少个标签时,子标签会被计为次要标签。 ## 标签管理 在管理面板中,通过插件打开“标签”页面来管理标签。该页面按顺序列出主要标签及其子标签,然后是按字母顺序排列的次要标签。 通过“创建主要标签”或“创建次要标签”来新建标签。 点击标签旁的铅笔图标可编辑标签。 拖拽主要标签可以调整顺序。 将主要标签拖到另一个主要标签下方即可形成嵌套,但只允许一层嵌套。 在两个列表之间拖拽标签,可以将其在主要标签和次要标签之间切换。 每次调整顺序时,一旦放下标签,更改就会立即保存。 ## 标签设置 | 字段 | 描述 | | :--- | :--- | | 名称 | 在标签出现的所有位置显示。输入名称时会自动填入 Slug。 | | Slug | 用于标签的地址 /t/slug 中。必须唯一,且不能包含空格或正斜杠。对于使用非拉丁字母书写系统(如中文或日文)的名称,Slug 不会自动填充,需手动输入。 | | 描述 | 显示在标签页面和标签页面上。最多 700 个字符。 | | 颜色 | 用于标签的标签页头、图标等处的颜色。 | | 图标 | 任何 Font Awesome 图标类名,包含前缀,例如 fas fa-flag。如果没有设置,将显示一个彩色方块。 | | 从“所有讨论”中隐藏 | 参见“隐藏标签”部分。 | | 默认排序 | 当用户打开标签页面且未指定排序时,该标签下讨论的排序方式。“使用论坛默认”表示跟随论坛的默认排序。扩展添加的排序方式也会列在其中。如果选中的排序方式后来被移除,它会保留并显示为(不再可用),此时将使用论坛默认值。 | ## 隐藏标签 勾选“从所有讨论中隐藏”后,该标签下的讨论不会出现在“所有讨论”列表中。它们仍会显示在标签自己的页面、搜索结果以及其他过滤列表中,标签本身也会在侧边栏和标签页面上显示。 请将其用于那些大多数用户不希望出现在主列表中的标签,例如存档或测试区域。 ## 删除标签 “删除标签”只会移除标签本身,不会删除其下的讨论。这些讨论会失去该标签;如果因此导致讨论没有任何标签,它们就会变成“未打标签”状态。只有拥有“查看论坛(讨论和用户)”全局权限的成员才能看到未打标签的讨论。 被删除标签的子标签会被保留,但不再拥有父标签。其受限的权限也会随标签一起删除。 ## 讨论所需标签数量 在“标签”页面的“设置”区域配置限制: | 设置 | 默认值 | 描述 | | :--- | :--- | :--- | | 主要标签必需数量 | 1 | 讨论中主要标签的最小和最大数量。 | | 次要标签必需数量 | 3 | 次要标签(包括子标签)的最小和最大数量。 | 拥有“绕过标签要求”权限的成员可以忽略这些限制,并可以发起没有任何标签的讨论。 最低数量还决定了谁可以使用论坛。如果某成员可见的主要标签或次要标签少于最低要求,他就无法看到论坛;如果某成员能发起讨论的标签数量少于最低要求,他就无法发起讨论。在使用“按标签限制”功能时,请确保你期望能访问的用户组拥有足够多的可见标签。 ## 为讨论打标签 当成员发起讨论时,需在编辑器中选择标签。如果尝试提交的标签少于必需数量,标签选择器会先打开,且只有在选择了足够多的标签后,“确定”按钮才会激活。 在标签选择器中: 只有在选择了父标签后,其子标签才会被提供;选择子标签时会自动添加其父标签; 一旦达到主要标签或次要标签的最大数量,该类标签将不再可选; 成员只能看到他们有权发起讨论的标签。 从标签页面发起讨论时,会自动选中该标签;如果有父标签,父标签也会被选中。 ## 修改讨论的标签 在讨论的控制菜单中选择“编辑标签”来修改标签。该功能对以下人员可用: 拥有“修改讨论标签”权限的成员,可以修改任何他们能看到的讨论的标签; 讨论的作者,在“允许编辑标签”的有效期内可以修改。 在“权限”页面的“允许编辑标签”选项中,设置作者修改标签的时长: | 选项 | 作者可修改标签的时间 | | :--- | :--- | | 无限期 | 任何时间 | | 10分钟 | 发起讨论后的 10 分钟内 | | 直到下次回复 | 直到他人回复之前 | | 永不 | 从未 | “永不”是默认设置。在 Flarum 2.0.1 之前,该设置会显示为“无限期”直到用户选择某个选项,但当时作者实际上无法修改标签。 成员只能添加自己有权发起讨论的标签。除非拥有“绕过标签要求”权限,否则与发起讨论时相同的限制也适用于此。 每次修改都会向讨论中添加一条帖子,例如“Toby 添加了反馈标签”。同一成员连续进行的修改会被合并为一条帖子,如果修改被撤销,该帖子也会被移除。 ## 浏览标签 标签页面位于 /tags,主要标签以磁贴形式展示,包含其子标签、描述和最新讨论;次要标签以云图形式展示。讨论数量最多的次要标签排在前面。 标签页面位于 /t/slug,在标签颜色的页头下列出该标签下的讨论,并显示其图标和描述。“发起讨论”按钮的颜色与之匹配;对于无法在该标签下发起讨论的成员,按钮显示为“无法发起讨论”。 侧边栏链接到标签页面、所有主要标签、当前查看标签的子标签,以及讨论数量最多的三个次要标签,其余的通过“更多...”访问。 若要将标签页面设为首页,请在“基础”页面的“主页”选项中选择“标签”。 ## 按标签搜索 成员可以使用 tag: 过滤条件缩小讨论搜索范围,使用标签的 Slug 进行搜索: | 搜索语句 | 查找结果 | | :--- | :--- | | tag:feedback | 带有该标签的讨论 | | tag:feedback,bugs | 带有任一标签的讨论 | | tag:feedback tag:bugs | 同时带有两个标签的讨论 | | -tag:feedback | 不带该标签的讨论 | | tag:untagged | 没有任何标签的讨论 | ## 限制标签 默认情况下,所有标签都遵循论坛的全局权限。限制标签可以让你为其单独设置权限。 在“权限”页面,从“按标签限制”中选择标签。该标签会获得自己的列,你可以设置: “查看论坛(讨论和用户)”,决定谁可以看到该标签及其讨论; “发起讨论”,决定谁可以在其中发起讨论,或将讨论添加此标签; 所有作用于讨论的权限,例如“回复讨论”、“删除讨论”或“修改讨论标签”,包括其他扩展添加的权限。 新限制的标签初始没有权限,因此在授予权限之前,只有管理员能看到它。 子标签也需要父标签具有相同的权限:成员无法看到他们看不到的标签的子标签。 如果一篇讨论有多个标签,成员需要在所有受限标签中拥有相应权限才能查看。如果某个受限标签未授予某权限,即使成员拥有该全局权限,也会失去该权限。作者仍可在论坛常规规则下重命名或隐藏自己在此标签下的讨论。 移除限制会删除其权限:点击受限标签列的 × 号,该标签将重新遵循全局权限,并删除其所有已设置的权限。再次限制该标签时,将从空白状态开始。 ## 标签地址 在“基础”页面,“Slug 驱动方式:标签”决定标签地址的格式: | 选项 | 地址格式 | 描述 | | :--- | :--- | :--- | | 默认 | /t/feedback | 使用标签的 Slug。支持任意字符集的 Slug。 | | ID 加 Slug | /t/12-feedback | 标签 ID 后接 Slug。查找标签时仅使用 ID,因此即使 Slug 更改,链接仍能正常跳转。 | ## 讨论计数 每个标签都会记录其讨论数量,这决定了标签页面和侧边栏中次要标签的排序。此数据也可以通过 API 提供给扩展。它统计的是可见的讨论:隐藏讨论以及等待审批(如果安装了 Approval 扩展)的讨论,在恢复或批准之前不会被计入。 从 Flarum 2.0.1 开始,无论以何种方式删除(包括删除最后一帖导致的删除),被删除的讨论都会从计数中移除。 ## 权限 在管理面板的“权限”页面设置以下权限: | 权限 | 默认授予 | 功能描述 | | :--- | :--- | :--- | | 修改讨论标签 | 版主 | 修改任何讨论的标签。可以针对受限标签单独授予。 | | 绕过标签要求 | 仅管理员 | 发起讨论和修改标签时,无视讨论所需标签数量的限制。 | | 允许编辑标签 | 永不 | 作者修改自己讨论标签的时长。参见“修改讨论的标签”。 | 创建、编辑、删除和重新排序标签仅限管理员操作。 ## 与其他扩展配合使用 | 扩展 | 对标签功能的影响 | | :--- | :--- | | Sticky | 置顶讨论固定在标签页面的顶部,包括在标签的默认排序中。置顶讨论可以针对受限标签单独授予权限。 | | Approval | 成员在修改讨论标签时添加某个标签,除了需要“发起讨论”权限外,还需要该标签的“无需审批即可发起讨论”权限。等待审批的讨论仅在批准后计入统计。 | | Flags | 版主仅在他们至少在一个相关讨论标签中拥有“查看旗帜”权限的讨论中看到旗帜。 | | Mentions | 成员可以使用 #slug 提及标签,链接以该标签颜色显示。提及已删除标签时,会显示为已删除。 | | Messages | 使用 Mentions 扩展时,成员可以在消息中提及标签。 | | Realtime | 当讨论的标签发生变化时,所有查看该讨论的人都会看到更改。侧边栏会显示某人正在该标签下写作。 | | Deck | 添加“标签”列,用于跟踪单个标签下的讨论。 | | Audit | 审计日志会记录讨论标签的变更,以及每个被创建、编辑或删除的标签。 |