# 导航侧边栏、权限、分组和大型网站UX bug

**URL:** <https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607>\
**Category:** UX\
**Tags:** sidebar\
**Created:** [2023年九月20日 17:51 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607 "2023-09-20T17:51:17Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年九月20日 17:51 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/1 "2023-09-20T17:51:17Z")

</div>

我一直在将我们站点的导航迁移到新的侧边栏系统。

由于这是一个大型站点，类别太多，无法全部列出，那将是一座无用的山。我使用类别权限，因此用户看到的导航列表反映了他们加入的组。换句话说，用户加入组，然后只看到与他们直接相关的导航（我认为这是大型站点的推荐解决方案）。

现在，对于能够轻松导航到他们站点主要区域的用户来说，导航效果很好，但这种设置带来的问题是，用户现在根本无法看到站点的其他区域。如果他们点击一个他们不属于的组的区域链接，他们会看到一个“未找到页面”。如果他们加入所有组，或者我们将权限设置为使所有类别可见，侧边栏导航就会变得太长而无法使用。

我期望的行为是，一组所有用户都可以看到和回复的类别，但这些类别仅出现在所选组的导航侧边栏中。

这就像我们还没有为类别设置的第四个权限框。“导航中”框，这样大型站点就可以为不同用户组设置导航，但又不会完全阻止访问我们不希望完全私有的站点区域。

---

<div class="post-metadata">

**Author:** ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)\
**Post date:** [2023年九月20日 18:09 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/2 "2023-09-20T18:09:19Z")

</div>

不完全确定您在问什么，但您可以使用我的群组导航菜单主题组件，并将链接添加到各种自定义群组菜单中的特定类别。

---

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年九月21日 09:57 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/3 "2023-09-21T09:57:10Z")

</div>

感谢 @Lilly。我看过你的插件，但不认为它完全符合我遇到的用例。

假设一个网站大约有 40 个组和 40 个类别/子类别。类别/子类别是用户特定的，例如“用户体验设计”或“公共关系”等技能。这些需要是类别而不是组，因为用户希望使用项目管理插件，如主题投票、看板、日历等。

你的插件是为解决同样的问题而设计的，但我需要为每个组/子类别对创建一个新部分，这会起作用，但限制是 8 个，这太低了。

现在，我已经设置为只有加入组的成员才能看到这些类别/子类别，这使得导航菜单非常完美，因为它是一个为每个用户在平台上的使用情况定制的菜单。但它破坏了网站的其余部分，因为成员有时希望与他们不常访问的区域进行交互或链接，而现在这些区域对他们是隐藏的。

我认为缺少的是一种让成员能够访问和交互更多网站类别/子类别的方法，但根据他们的组选择，将它们隐藏在主导航之外。

我建议增加第四个类别权限，因为它将更好地扩展，如果组页面提议的扩展允许用户创建自己的组，以及组的组，那么直接在侧边栏中解决这个问题，就像你所做的那样，Lilly，将是一个解决方案。

---

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年十月1日 19:43 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/4 "2023-10-01T19:43:31Z")

</div>

我对此进行了更多思考，并有一个建议，通过修改@Lilly出色的导航侧边栏mod来改进/解决大型网站的用户体验问题，该mod几乎解决了这个问题。

**在当前系统中** ，用户创建自定义菜单，然后选择哪些组可以看到它。

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/0/4/8049a2eef4c3e85a3d269afd0f6761cfc5c351d1.png)

**我的建议** 是编辑该组件，使其具有：“仅向这些组显示类别/子类别”，或者如果它是不同的组件，则改为“仅向这些组显示类别/子类别”。

管理员然后选择一个类别（当前存在的相同模态框，但设置为类别）。

管理员在下方添加类别可见的组，现有的模态框非常适合此。

**为什么**

新的导航侧边栏旨在修复用户体验，但在大型网站上，它会很快变得混乱，因为并非所有用户都会经常访问所有类别，除非论坛的焦点非常狭窄。

如果它分布在多个区域，侧边栏就会变成过多的信息墙，或者您必须限制其中的内容，这对于用户体验来说并不好，因为用户最喜欢的区域可能会被遗漏。

此更改将允许网站将侧边栏设置为仅向用户显示与其加入的组相关的类别，从而使导航变得容易，同时也将所有非私有类别和子类别对所有人开放。目前只能二选一。

---

<div class="post-metadata">

**Author:** ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)\
**Post date:** [2023年十月1日 20:07 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/5 "2023-10-01T20:07:35Z")

</div>

我现在认为我理解了你的用例以及你想要实现的目标。你想针对用户组控制导航菜单类别部分的链接，但实际上并不限制对这些类别的访问。主要问题是用户可以自定义自己的类别菜单部分，并且应该鼓励他们这样做。我认为你不想覆盖用户菜单偏好的这部分。如果你有很多用户组和类别，没有自定义组件可能会难以管理。

对于类别菜单部分，用户只需点击铅笔图标即可完成此操作：

 ![menu_category_modal](https://global.discourse-cdn.com/meta/original/4X/c/d/a/cdab114679dc4af2aa954fb40849ae567d296a63.png)

所以，除了覆盖用户偏好设置之外，我认为我们基本上是在讨论一个用户组-类别-菜单组件——用户组默认会获得一个特定的类别菜单，但他们并不局限于访问其他类别。在过去几个月里，我实际上一直在断断续续地研究类似的东西。🤔

你的论坛上有多少用户组和类别/子类别？

---

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年十月1日 20:25 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/6 "2023-10-01T20:25:17Z")

</div>

是的，也许你是对的。

我知道许多/大多数用户不会这样做，对他们来说会很混乱，所以我想为他们设置一个初始方法，但也许让他们自己学习如何做更好。

我担心的另一件事是，当群组和类别相同/相似时，一些用户会感到困惑，以为他们正在加入或离开一个群组，而实际上只是从侧边栏中删除它，在群组页面上加入/离开群组时也会出现同样的问题。

---

<div class="post-metadata">

**Author:** ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)\
**Post date:** [2023年十月2日 12:06 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/7 "2023-10-02T12:06:33Z")

</div>

我不知道主题组件是否能阻止这种情况，但使用 CSS 隐藏类别并不会阻止它们加载，这可能会导致您在侧边栏加载所有类别时遇到的缓慢问题。🤔

---

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年十月12日 15:20 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/8 "2023-10-12T15:20:03Z")

</div>

@Lilly 善意地提出了一个修复方案，我们尝试了，但不幸的是，对于拥有多种用途的大型网站来说，用户体验问题依然存在。

Lily 的建议是像这样手动创建所有类别和子类别：

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/6/1/d611b9e38cb6bffb01aff9302e0dc4633a920375.png)

我试了一下，但不幸的是，当某些类别/子类别需要隐藏时，它就会失效，因为“添加自定义部分”功能创建的链接对所有人可见，因此任何隐藏的组都无法包含在内。无权查看它们的成员可以看到链接，但如果点击该链接，则无法看到它指向的页面。

指示用户自行设置侧边栏是一个很棒的功能，但对于那些还不清楚哪些内容对他们来说重要、哪些不重要的用户来说，这并不是一个好的用户体验，他们应该通过导航来引导。

如果有一种方法可以设置用户权限，导航侧边栏可以基于这些权限运行，那就能解决问题，而无需创建第四个权限框。

现在，如果用户可以“查看”一个类别/子类别，它就会显示在导航侧边栏中。如果侧边栏有一个选项，只显示用户能够“回复”或“创建”的类别/子类别，那将为自定义配置提供更多选择。在我的用例中，用户将能够看到平台上的所有内容，但在导航侧边栏中只能看到他们订阅的类别/子类别，这使得他们的体验，尤其是新用户，更加专注，不易不知所措。

然后，我们使用组权限让他们选择他们最常互动的内容。

---

<div class="post-metadata">

**Author:** ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)\
**Post date:** [2023年十月12日 15:36 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/9 "2023-10-12T15:36:00Z")

</div>

是的，我刚刚折叠了类别组，那些是标题。这似乎是在导航菜单中组织类别的逻辑方式。

---

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年十月15日 13:52 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/10 "2023-10-15T13:52:03Z")

</div>

我认为这个问题是这样的：

- 用户在加入网站时加入兴趣小组，用户体验不是很好，但也不是太令人反感。
- 让这些兴趣小组决定用户的网站导航是完全合理的，并且可以创建一个以用户为中心的网站，这很棒。
- 为了实现这一点而阻止查看网站所有其他区域的能力是不可接受的权衡，因为它破坏了所有用户在直接兴趣之外进行交流和探索的能力。

我建议的解决方案是：  
在侧边栏设置中设置一个 3 种设置的切换按钮，上面写着“通过仅显示用户有权限 1.查看 2.回复 3.创建的类别/子类别来设置初始用户导航侧边栏设置”。

然后，用户将根据他们告知网站他们感兴趣的小组开始设置侧边栏，这使得在一个大型网站上进行初始入职和查找路径更加容易，但他们仍然可以通过单击导航侧边栏的编辑按钮来自定义导航（这对已入职的用户来说是一个很棒的功能，但对于新用户来说，要求他们说明在他们还不熟悉的网站上什么更重要，则不太好）。

---

<div class="post-metadata">

**Author:** ![Drew-ART](https://avatars.discourse-cdn.com/v4/letter/d/8edcca/32.png) [@Drew-ART](https://meta.discourse.org/u/Drew-ART)\
**Post date:** [2023年十一月24日 15:50 UTC](https://meta.discourse.org/t/navigation-sidebar-permissions-groups-and-large-sites-ux-bug/279607/11 "2023-11-24T15:50:45Z")

</div>

我进行了一项针对新用户的调查。尽管明确告知他们加入网站时应编辑侧边栏，但大多数人没有这样做，因此他们仍然使用一个充斥着分类和子版块的网站。对我来说，新用户还不确定什么对他们来说是相关的，什么不是，所以要求他们手动编辑侧边栏会让他们不敢删除内容。
