为用户配置默认侧边栏

侧边栏提供了快速访问 Discourse 站点重要部分的功能。虽然用户可以根据自己的偏好自定义侧边栏,但提供经过深思熟虑的默认设置有助于新用户和访客更轻松地浏览论坛。

本指南介绍如何自定义现有部分以及在侧边栏中创建额外部分。你还将了解可以调整哪些设置来配置与侧边栏相关的用户偏好默认值。

自定义每个部分的默认内容

社区部分

侧边栏的顶部部分(没有可见标题)称为“社区”部分。此部分对所有用户可见,包含基本导航链接。

要自定义此部分:

  1. 点击侧边栏中的 更多
  2. 在扩展菜单底部选择 自定义此部分

你可以进行以下更改:

  • 拖动 图标重新排序链接
  • 编辑每个条目的图标、名称和链接
  • 向部分添加新条目

了解默认链接

一些默认链接具有特殊行为:

  • 我的帖子 - 此链接默认始终显示为“我的帖子”。但是:
    • 如果用户有一个或多个草稿,点击链接会将其带到草稿,而不是其发帖活动。
    • 如果用户属于在 experimental_new_new_groups 站点设置中选择的组,当存在草稿时,链接文本也会更改为“我的草稿”。
  • 我的消息 - 仅对 personal_message_enabled_groups 中的用户可见。
    • 它显示个人收件箱和你所属组收件箱的未读指示器或未读消息数量。
    • 它总是带你到个人收件箱——即使唯一的未读消息在组收件箱中。
  • 审核 - 仅对工作人员和类别版主可见。
  • 管理 - 仅对管理员和版主可见。
  • 邀请 - 仅对可以邀请他人的用户可见。

处理翻译

默认链接自动以用户选择的界面语言显示。但是:

  • 自定义默认链接的文本会覆盖所有语言的文本
  • 要编辑特定语言或隐藏元素(如“我的草稿”)的文本,请遵循 自定义 Discourse 文本 指南中的说明。

处理插件添加的链接

目前无法通过侧边栏编辑器自定义插件添加的链接。但是,你可以使用以下方法用自己的版本替换它们:

  1. 隐藏原始插件添加的链接
  2. 添加具有所需行为和外观的自定义链接

一些链接可以在插件设置中隐藏。例如,可以通过禁用 sidebar_show_upcoming_events 设置来隐藏即将发生的事件链接。
如果没有这样的设置,你可以使用自定义 CSS 隐藏链接。

隐藏或移动插件链接的 CSS 示例

完全隐藏插件添加的链接
此示例隐藏 ActivityPub 插件添加的链接:

.sidebar-section-link-wrapper[data-list-item-name="activity-pub-about"] {
         display: none;
      }

仅从“更多”菜单中隐藏链接
如果你要将链接从“更多”菜单移动到始终可见的位置,这很有用:

.sidebar-more-section-content
  .sidebar-section-link-wrapper.dropdown-menu__item[data-list-item-name="anniversaries"] {
  display: none;
}

仅从主部分隐藏链接(不在“更多”菜单中)
如果你希望链接出现在“更多”菜单中而不是始终可见,这很有用:

.sidebar-section.sidebar-section-wrapper:not(.sidebar-more-section-content)
  .sidebar-section-link-wrapper[data-list-item-name="docs"] {
  display: none;
}

:information_source: 有关对站点进行 CSS 更改的更多详细信息,请参阅 关于进行 CSS 更改的指南

类别部分

你可以在 default_navigation_menu_categories 站点设置中配置哪些类别默认出现在用户的侧边栏中。你可以通过以下方式访问:

  1. 点击类别部分底部的“配置默认值”(仅在未配置默认值时可见)
  2. 通过 管理 > 所有站点设置 访问此设置并搜索该设置

类别可见性尊重用户权限——用户只会看到他们有权限访问的类别,即使你将受限制的类别包含在默认设置中。如果你仅将受限制的类别配置为默认值:

  • 访客将看到空列表
  • 登录用户将看到最流行的类别(与取消选择所有类别相同)

:warning: “类别”旁边的 菜单中的“编辑侧边栏类别”选项仅自定义你的个人视图,而不是所有用户的默认值。

标签部分

你可以在 default_navigation_menu_tags 站点设置中配置哪些标签默认出现在用户的侧边栏中。你可以通过以下方式访问:

  1. 点击标签部分底部的“配置默认值”(仅在未配置默认值时可见)
  2. 通过 管理 > 所有站点设置 访问此设置并搜索该设置

标签可见性尊重用户权限——隐藏标签组中的标签不会出现在用户的侧边栏中,即使包含在默认设置中。如果你仅将受限制的标签配置为默认值:

  • 所有用户(包括访客)将看到最流行的标签(与取消选择所有标签相同)

:warning: “标签”旁边的铅笔图标仅自定义你的个人视图,而不是所有用户的默认值。

聊天部分

所有聊天部分仅在启用聊天[1]、用户被允许使用聊天[2] 且未在偏好设置中禁用聊天时可用。

聊天搜索部分

聊天搜索由 chat_search_enabled 站点设置控制。

线程部分

线程部分仅对至少是一个启用线程的聊天成员的用户可见。

频道部分

频道部分显示用户已加入的聊天频道。如果用户基于类别权限可以加入至少一个频道,他们将看到此部分。在用户加入至少一个频道之前,该部分将为空。

你可以通过频道设置自动化频道成员资格:

  1. 在频道设置中启用自动成员添加
  2. 符合条件的新用户将自动在侧边栏中看到该频道

DM 部分

直接消息部分显示一对一和群聊对话。要查看此部分,用户必须属于 direct_message_enabled_groups 中的任何一个。

你无法为此部分配置默认对话。但用户不会看到空部分,而是会看到一个“开始新 DM”按钮替换此部分。

添加自定义部分

你可以在侧边栏中创建包含自定义链接的额外部分。这些部分将出现在第一部分下方和类别部分上方。要添加新部分:

  1. 点击侧边栏底部的 + 按钮
  2. 输入部分的标题
  3. 对于要添加的每个链接:
    • 选择图标
    • 输入链接名称
    • 指定目标 URL
    • 点击“添加另一个链接”以添加更多链接
  4. 勾选“对所有人可见”以使此部分对所有用户显示
  5. 点击“保存”以创建部分

自定义部分标题旁边的小 图标仅对管理员可见,表示该部分对所有人可见。

自定义文本标签

你可以自定义侧边栏中的所有文本标签,包括部分标题:

  1. 导航到 管理 > 外观 > 站点文本
  2. 搜索要自定义的文本

由于许多侧边栏标签使用常见词汇,找到特定的文本键可能具有挑战性。为此提供帮助:

自定义用户偏好默认值

用户可以在 /my/preferences/navigation-menu 自定义他们的侧边栏偏好。你可以使用以下站点设置设置这些偏好的默认值:

default_sidebar_link_to_filtered_list

此设置控制侧边栏链接到主题列表(包括“所有主题”和类别和标签部分中的链接)是否指向:

  • 启用时:过滤列表,仅显示未读或新主题
  • 禁用时:包括所有主题的列表

default_sidebar_show_count_of_new_items

此设置控制侧边栏中如何显示新项目:

chat_separate_sidebar_mode

启用时,聊天或论坛按钮将添加到导航菜单。这允许用户更高效地在全屏聊天体验和论坛视图之间切换。在全屏聊天模式下,侧边栏中仅显示与聊天相关的部分(如 我的线程频道DM)。如果设置为“始终”,在浏览论坛时侧边栏中与聊天相关的部分将被隐藏。此设置有助于保持论坛和聊天体验清晰分离。

有一个 default_sidebar_switch_panel_position 站点设置,允许你决定切换按钮应显示在侧边栏的顶部还是底部。用户无法在偏好设置中更改位置。

进一步自定义

你可以使用主题组件进一步增强论坛上的侧边栏。要探索可用选项,请在 Customization > Theme component 类别中标记为 sidebar 的主题中搜索 (链接)。但是,并非每个组件在 Meta 上都有主题。一些也链接在其他主题中。

主题组件可以为你的侧边栏添加功能。一些示例包括:

:information_source: 在实现高级功能时,请记住用户可以自定义他们的侧边栏。测试你的自定义内容在不同用户选择下的外观。例如,当用户添加子类别但不添加其父类别时,嵌套类别的外观。

相关资源


  1. chat_enabled ↩︎

  2. chat_allowed_groups ↩︎

14 个赞

我一直在寻找关于基于管理员的侧边栏自定义的#文档主题,当出现这类问题时。现在终于有一个了!

5 个赞