侧边栏提供对您 Discourse 站点重要部分的快速访问。虽然用户可以自定义自己的侧边栏以满足个人偏好,但提供一个经过深思熟虑的默认设置,尤其有助于新用户和论坛访客更轻松地导航。
本指南将介绍如何自定义现有部分并创建侧边栏中的附加部分。您还将了解可以调整哪些设置,以配置与侧边栏相关的用户偏好默认值。
自定义每个部分的默认内容
社区部分
侧边栏顶部的部分(无可见标题)称为“社区”部分。该部分对所有用户可见,并包含基本导航链接。
要自定义此部分:
- 在侧边栏中点击 更多
- 在扩展菜单底部选择 自定义此部分
您可以进行以下更改:
- 通过拖动 图标重新排序链接
- 编辑每个条目的图标、名称和链接
- 向该部分添加新条目
理解默认链接
某些默认链接具有特殊行为:
- 我的帖子 - 此链接默认始终显示为“我的帖子”。然而:
- 如果用户有一个或多个草稿,点击该链接将带他们前往草稿,而非发帖活动页面。
- 如果用户属于在
experimental_new_new_groups站点设置中选定的群组,当存在草稿时,链接文本也会变为“我的草稿”。
- 我的消息 - 仅对
personal_message_enabled_groups中的用户可见。- 它会显示未读指示器或您的个人收件箱以及您所属群组收件箱中的未读消息数量。
- 它始终将您带至个人收件箱——即使唯一的未读消息位于群组收件箱中。
- 审查 - 仅对工作人员和分类版主可见。
- 管理 - 仅对管理员和版主可见。
- 邀请 - 仅对有权邀请他人的用户可见。
处理翻译
默认链接会自动以用户选择的界面语言显示。然而:
- 自定义默认链接的文本会覆盖所有语言的显示内容
- 要编辑特定语言的文本或隐藏元素(如“我的草稿”),请遵循 自定义 Discourse 中的文本 指南中的说明。
处理插件添加的链接
目前无法通过侧边栏编辑器自定义由插件添加的链接。但是,您可以使用以下方法用自定义版本替换它们:
- 隐藏原始插件添加的链接
- 添加具有您所需行为和外观的自定义链接
某些链接可以在插件设置中隐藏。例如,可以通过禁用 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;
}
有关对站点进行 CSS 更改的更多详细信息,请参阅 关于进行 CSS 更改的指南。
分类部分
您可以在 default_navigation_menu_categories 站点设置中配置哪些分类默认出现在用户的侧边栏中。您可以通过以下方式访问该设置:
- 点击分类部分底部的“配置默认值”(仅在没有配置默认值时可见)
- 通过 管理 > 所有站点设置 访问此设置并搜索该设置
分类可见性尊重用户权限——即使用户在默认设置中包含了受限分类,他们也只能在侧边栏中看到他们有权限访问的分类。如果您仅将受限分类配置为默认值:
- 访客将看到一个空列表
- 已登录用户将看到最热门的分类(与取消选择所有分类的情况相同)
“分类”旁边的 菜单中的“编辑侧边栏分类”选项仅自定义您的个人视图,而非所有用户的默认值。
标签部分
您可以在 default_navigation_menu_tags 站点设置中配置哪些标签默认出现在用户的侧边栏中。您可以通过以下方式访问该设置:
- 点击标签部分底部的“配置默认值”(仅在没有配置默认值时可见)
- 通过 管理 > 所有站点设置 访问此设置并搜索该设置
标签可见性尊重用户权限——隐藏标签组中的标签不会出现在用户的侧边栏中,即使它们包含在默认设置中。如果您仅将受限标签配置为默认值:
- 所有用户(包括访客)将看到最热门的标签(与取消选择所有标签的情况相同)
“标签”旁边的铅笔图标仅自定义您的个人视图,而非所有用户的默认值。
聊天部分
所有聊天部分仅在聊天启用[1]、用户被允许使用聊天[2] 且未在偏好设置中禁用聊天时可用。
聊天搜索部分
聊天搜索由 chat_search_enabled 站点设置控制。
线程部分
线程部分仅对至少是一个启用了线程功能的聊天成员的可见。
频道部分
频道部分显示用户已加入的聊天频道。如果根据分类权限用户至少可以加入一个频道,他们将看到此部分。在他们加入至少一个频道之前,该部分将为空。
您可以通过频道设置自动管理频道成员资格:
- 在频道设置中启用自动添加成员
- 符合条件的新用户将自动在侧边栏中看到该频道
私信部分
私信部分显示一对一和群组聊天对话。要看到此部分,用户必须属于 direct_message_enabled_groups 中的任何一个。
您无法为此部分配置默认对话。但取而代之的是,用户将看到一个“开始新私信”按钮,该按钮将替换此部分。
添加自定义部分
您可以在侧边栏中创建包含自定义链接的附加部分。这些部分将出现在第一个部分下方和分类部分上方。要添加新部分:
- 点击侧边栏底部的 + 按钮
- 输入您部分的标题
- 对于您要添加的每个链接:
- 选择一个图标
- 输入链接名称
- 指定目标 URL
- 点击“添加另一个链接”以添加更多链接
- 勾选“对所有人可见”以使此部分对所有用户显示
- 点击“保存”以创建部分
自定义部分标题旁边的小 图标仅对管理员可见,表示该部分对所有人可见。
自定义文本标签
您可以自定义侧边栏中的所有文本标签,包括部分标题:
- 导航至 管理 > 外观 > 站点文本
- 搜索您要自定义的文本
由于许多侧边栏标签使用常见词汇,找到特定的文本键可能具有挑战性。为此:
- 使用 详细本地化功能 来识别正确的文本键
自定义用户偏好默认值
用户可以在 /my/preferences/navigation-menu 自定义其侧边栏偏好。您可以使用以下站点设置来配置这些偏好的默认值:
默认侧边栏链接到过滤列表
此设置控制侧边栏中主题列表(包括“所有主题”以及分类和标签部分中的链接)是否指向:
- 启用时:仅显示未读或新主题的过滤列表
- 禁用时:包含所有主题的列表
默认侧边栏显示新项目数量
此设置控制侧边栏中如何显示新项目:
| 点/徽章 | 数量 |
|---|---|
|  |
聊天独立侧边栏模式
启用后,导航菜单中将添加一个聊天或论坛按钮。这使得用户可以在全屏聊天体验和论坛视图之间更高效地切换。在全屏聊天模式下,侧边栏中仅显示与聊天相关的部分(如 我的线程、频道 和 私信)。如果设置为“始终”,则在浏览论坛时侧边栏中与聊天相关的部分将被隐藏。此设置有助于清晰地区分论坛和聊天体验。
有一个 default_sidebar_switch_panel_position 站点设置,允许您决定切换按钮应显示在侧边栏的顶部还是底部。用户无法在偏好设置中更改此位置。
进一步自定义
您可以使用主题组件进一步增强论坛上的侧边栏。要探索可用选项,请在 #theme-component::category 类别中搜索带有 sidebar 标签的主题(链接)。然而,并非每个组件都在 Meta 上有主题。有些也链接在其他主题中。
主题组件可以为您的侧边栏添加功能。一些示例包括:
- 更改侧边栏的默认可见性:
- 更改侧边栏部分的顺序:
- 附加侧边栏部分:
- 仅对选定群组可见的自定义部分:Discourse Group Sidebar Menus
- 用于显示群组收件箱直接链接的个人消息部分:侧边栏的消息部分
- 允许为不同用户组(如访客或工作人员)显示或隐藏特定部分的组件:
- 允许缩进子分类的组件,例如:
在实现高级功能时,请记住用户可以自定义其侧边栏。测试您的自定义内容在不同用户选择下的显示效果。例如,当用户添加子分类但未添加其父分类时,嵌套分类的外观如何。
相关资源
- Creating quick access links to Discourse preference pages
- Customize text in Discourse
- Find a translation key with verbose localization


