分类:公开、仅登录用户可见与受限

是否有办法区分仅对登录用户可见的分类和对特定组可见的分类?

目前,我使用 CSS 隐藏仅对登录用户可见的分类前的锁图标。现在,我想在仅限特定组访问的分类前添加一个组图标。

3 个赞

我理解您的问题,但我正在思考这个用例。特别是因为只有能够查看分类的用户,无论其所属群组或登录状态如何,都能看到这些分类。那么,这种区分又有什么帮助呢?我认为目前似乎没有实现的方法,但也可能我错了。

该用例与锁定图标相同,我认为其目的是提醒用户:如果您在此处发帖或分享来自此处的链接,并非所有人都能访问。

我觉得对于仅限登录的类别,我不需要这样的提醒,因为我的网站上很少有类别对匿名用户可见。(相反,我用 :eye: 图标标记公开可见的类别,以提醒用户这些类别处于公开互联网上。)

对于那些限制比“必须登录”更严格的类别,可能不太明显它们仅面向某个相对排他的群体。新用户可能在创建账户时就被授予了某个组的访问权限。因此,从第一天起,他们看到的类别集合就与某些其他用户不同,但除非类别名称或描述(如果他们阅读了的话)包含提示,否则他们无法判断某个类别仅对部分人可见。老用户可能会忘记,他们曾经获得访问权限的某个类别实际上并非所有人都能访问。

因此,简而言之,对于受限类别,像锁定图标那样快速直观的视觉提醒,比在一个主要以登录用户为主的网站上将其应用于几乎所有类别,对我来说更有意义。

2 个赞

我们最近将某个分类设置为仅限更高信任等级的用户访问,现在很多人误以为这些话题已被关闭。"关闭"和"受限"是两回事,但使用相同的图标让他们感到困惑。通常,锁形图标表示查看者没有完全访问权限,而不是表示内容对其他用户隐藏。

1 个赞

在此期间,我决定在每个类别前标明访问级别。对于公开类别(匿名访问),我使用地球图标;对于仅限登录用户访问的类别,使用“群组”图标;对于其他受限类别,则使用“好友”图标。

2 个赞

您是如何实现这一点的?我认为这是一个很棒的主意,随着我们的网站逐渐拥有一些公共类别,我很想为它们做类似的事情。喜欢这个地球!

我很想实现:

  1. 设置为 everyone 的类别的 :globe_with_meridians:
  2. 未设置图标的类别,允许访问 trust_level_0
  3. 设置为所有其他类别的 :unlock:

Nathan,这个TC应该可以做到。

是的,这就是我使用的。在 svg-icons 字段中,输入 users, user-friends 以及您想要用于公共访问的任何符号(对于地球图标,我使用的是 Freepik 的图标,我已通过上传到主题组件的 sprite 添加到我的 Discourse 中)

我使用以下 CSS 隐藏了锁图标,该 CSS 已添加到主题组件中:

// no lock icon for private categories
.category .badge-category.clear-badge.restricted .d-icon-lock, 
.badge-category.clear-badge.restricted .d-icon-lock,
.category-list .category-text-title .d-icon-lock,
.category-box-heading .d-icon-lock {
    display:none;
}
1 个赞

我提出了一个你的想法的变体,我可以选择性地仅隐藏对 TL_0(手动)可访问的类别中的锁定图标。

由于没有一个方便的 CSS 类可以实现这一点,因此你必须分别针对要隐藏锁定图标的每个类别的悬停(title)和链接(href)属性:

// 隐藏 ux 类别的锁定图标
[title = "ux"], [href = "/c/ux/9"] {
     .d-icon {
         display: none;
     }
}

这当然会与“类别图标组件”中的任何图标冲突,但可以通过针对该类别的 .d-icon-lock(或你使用的任何图标)而不是 .d-icon 来缓解。


我刚刚编辑了该 CSS,因为我发现缺少一些图标。现在它工作得好多了,但如果更改类别结构,它很容易中断。

2 个赞

对这个进行一点更新,以便你可以将其与侧边栏一起使用:

// 隐藏 ux 类别的锁定图标
.sidebar-section-link-ux .prefix-badge {
    display: none;
}
.category-ux .list-controls, [href = "/c/ux/9"] {
    .d-icon-lock,  {
        display: none;
    }
}
1 个赞

对于类别选择下拉菜单,我添加了一个目标:

.category-ux .list-controls, [href = "/c/ux/9"], [data-value = "9"] {
    .d-icon-lock,  {
        display: none;
    }
}

另外,对于聊天频道,我建议:[href *= "chat/channel/9/"]

1 个赞