侧边栏未显示类别,尽管已在默认导航菜单类别中指定

我配置了 2 个分类:

  • 一个名为 School_A 的分类,对特定用户组 group_School_A 可见(私有)
  • 一个名为 Support 的分类,对 Trust Level 0 的用户可见(私有)

我将设置 Default navigation menu categories(默认导航菜单分类)配置为包含 School_ASupport,但在侧边栏中,属于 group_School_A 的用户只能看到 School_A

要访问 Support,我们仍然必须点击 All categories(所有分类)并选择 Support

如果我将 Support 分类配置为对 group_School_A 可见(私有),我仍然会遇到同样的问题。

有人能帮我理解我哪里做错了吗?

谢谢

你是如何测试的?你创建了一个新的测试用户吗?用户也可以自定义侧边栏中显示的类别。这可能会阻止将新的默认设置应用于现有用户。用户是否可以手动添加该类别?

确实,这可能就是问题所在。

我正在使用一个测试用户,该用户是在我进行更改之前创建的。

如果我点击“类别”旁边的铅笔按钮,可以看到两个类别,并且 Support 处于未选中状态。

那么接下来的问题是如何将新设置应用到现有用户?
有我可以使用的 API 吗?
这些用户是一周前注册的(所以还没有太多时间进行自定义),而我今天才发现侧边栏的问题以及类别不可见的问题。
如果我要求用户执行某个操作,大多数人可能不会理解,其他人则会忽略……

非常感谢!

更改站点设置时,您可以选择是否对现有用户强制执行该更改。

因此,您应该能够从设置中移除 supportschool_a,并在保存时不将该更改应用于现有用户。然后等待几分钟,再将它们重新添加回来。这一次,请将更改应用于现有用户。(不要担心显示的数量,由于您正在添加多个类别,该数量可能是不准确的

这里有一个指南,但它主要侧重于覆盖自定义设置,强制所有用户使用相同的侧边栏:https://meta.discourse.org/t/how-to-set-the-same-sidebar-categories-for-all-the-users/402479。

我认为我已经将其应用到了现有用户。

但我又试了一次:

  • 当我从 default navigation menu categories 中移除所有类别时,系统提示是否将其应用到现有用户。我选择了“否”。
  • 我等待了几分钟
  • 我再次添加它们,但这次没有提示是否应用到现有用户。
  • 我检查了侧边栏,发现 Support 仍然是未勾选状态(但它是存在的)
  • 我尝试向 default navigation menu categories 中添加一个临时类别,以强制触发“应用到现有用户”的提示。这次我收到了提示,并选择了“是”。
  • 我再次检查侧边栏,发现 Support 仍然是未勾选状态。

所以看起来 apply this change historically 这个功能似乎存在一些问题?

更新:我重新尝试了一下:清空 default navigation menu categories,应用到现有用户,等待几分钟,再次添加类别并再次应用到现有用户,这次成功了!

非常感谢

嗯。如果所有用户都已经在侧边栏中拥有该分类,那么不提供该选项也就说得通了。

你可以对所有人执行移除该分类的操作。之后,重新添加该分类应该会触发“应用到现有用户”的弹窗。但这可能会让当前正在使用论坛的用户感到困惑。

你也可以使用数据浏览器(data explorer)来检查当前的配置。以下查询允许你选择一个分类和一个用户组,并返回该组中每个成员是否已在侧边栏中拥有该分类:

-- [params]
-- group_id :group
-- category_id :category

SELECT
    u.id AS user_id,
    CASE WHEN sl.id IS NULL THEN 'No' ELSE 'Yes' END AS category_added_to_sidebar
FROM users u
JOIN group_users gu ON gu.user_id = u.id
LEFT JOIN sidebar_section_links sl
    ON sl.user_id = u.id
    AND sl.linkable_type = 'Category'
    AND sl.linkable_id = :category
WHERE gu.group_id = :group
ORDER BY category_added_to_sidebar ASC

结果如下所示:

最近加入的用户不多,所以删除并重新应用分类并不是什么问题(我相当确定没人有时间去自定义侧边栏)。

现在看起来可以正常工作了,非常感谢你的支持!