类别预览

此组件允许您在分类页面添加“分类预览”,以便用户无需访问实际分类即可看到该分类的存在。预览外观与标准分类相同,但可以链接到指定页面,用户可在该页面了解如何获取访问权限。

下方包含一个简单示例,但该组件有多种配置方式。请务必阅读主题设置中包含的所有信息。

主题创建者演示

:warning: 您需要在此处登录 Meta 账户才能使此功能生效

  1. 导航至 https://theme-creator.discourse.org,如果尚未登录,请使用标题栏中的按钮登录

  2. 使用以下链接激活此组件的预览:Theme Creator

  3. 向下滚动分类列表,直到找到“受限分类预览”分类,并尝试进入:

  4. 您将被带至一个已发布的页面,其中包含有关如何继续访问该分类的说明:

设置

我已在主题设置中尽力解释了此组件的工作原理。配置过程并非最直观的体验,因此如有任何疑问,欢迎随时提问,我将更新说明以提供更清晰的指导。

其他说明

我预计会有许多不同的边缘用例。我无法保证此组件能适用于所有情况,但欢迎提供反馈和建议 :slight_smile: 以下是一些需要注意的事项:

  • 目前,此功能不适用于“带精选主题的方框”或“带精选主题的子分类”分类页面样式。如果请求足够多,我可以考虑添加支持
  • 出现在特定分类上方的预览中添加了 above-$CATEGORY 类。这可用于添加额外的样式
  • 此功能不适用于在分类页面显示的子分类
  • 工作人员用户和匿名用户将始终看到分类预览
  • 请特别注意主题设置中的重要说明

安装此主题组件

41 个赞
Private category, visible but hidden topics/threads
How do I allow people to see categories but not access topics?
Discourse Category Lockdown
Non-members and topic security
Premium Categories Visibility
Lock topic content for logged out users
"Will be opened later" status for category
Display locked category but not it's content
Categories as private rooms, that are publicly visible?
New Category Permission
Asking for access to a private category
Tighter integration of account-creation and subscriptions?
Tighter integration of account-creation and subscriptions?
Can Category Names Be Public While Topics Remain Private
Paid Groups
I need a theme to promote some hidden categories
Locked category only for specific members
Have category name visible, but not posts within the category
Paid Groups
Gated Topics in Category
Paid Groups
[PAID] Modify the "Category Previews" theme to make it work with a limited visibility Group
How to properly set up a pinned "user reviews" for my trading category?
How to force existing users to accept ToS
Configuring group access, membership, and visibility
Hide all topics in a specific category but show the category
Enabling category previews for restricted paid access categories
Several questions about management right
Private Group Facebook Like
Login required to see topic info
How to make certain posts visable to users without accounts whilst having the 'login required' setting enabled?
Publicly display a private category
Is it possible for a user to select categories to have in cat list (not only at registration but anytime)
Category, Group, Tag Descriptions as Topics
Configuring group access, membership, and visibility
Preventing non-registered users from viewing posts

哦,我喜欢这个!我们本周刚上线了兴趣小组,已经有不少人询问如何找到它们。我们确实使用了盒子分类样式,所以肯定会提出这个需求。

6 个赞

工作人员用户和匿名用户将始终看到分类预览。

所以,那些没有在论坛上注册的人也能看到分类内部的内容吗?

匿名用户将无法查看真实的受限分类内部内容。他们仅能看到该分类的预览。工作人员可以查看/访问所有内容。以下是一个假设的分类列表说明:

工作人员用户(始终同时看到两者)

  • 受限分类
  • 受限分类预览
  • 公开分类

匿名用户(仅始终看到预览)

  • 受限分类预览
  • 公开分类

已登录且有权访问受限分类的用户(无需预览,因此从不显示)

  • 受限分类
  • 公开分类
7 个赞

仅在此确认,该功能在与匿名用户可见分类、仅登录用户可见分类并存的网站上运行良好。您可以利用预览内容作为引导用户注册的提示。

category-slug~分类标题~仅限会员访问~https://discourse.example.com/signup~trust_level_0

4 个赞

抱歉,我肯定是新手。

不过,第 1 点没问题,不复杂。
当我点击第 2 点中的链接时,出现以下情况:

当我进入“查看主题”时,会出现一个安装按钮:

我不想点击它,我担心这会改变我的整个论坛。

你能帮我吗?再次抱歉。

嗯,我没有遇到相同的行为。我刚刚试过了演示步骤,一切看起来都正常工作:

需要说明的是,我们主题创建者网站上的演示只是一个用例展示。您需要按照帖子开头(OP)末尾的安装步骤,将其安装到您自己的网站上。

4 个赞

嗯,我明白了,谢谢!哈哈

不过最后,我们怎么把它安装到自己的网站上呢?

如前所述,原始帖子中已有说明:

接下来,您需要根据您的实际需求配置主题设置、分类限制 以及 群组设置

4 个赞

是的,是我的疏忽,没看到 GitHub 链接。非常感谢您的时间。

2 个赞

那么现在,您能解释一下如何使用它吗?英语不是我的母语,所以这有点复杂。

假设我想将一个公开分类转换为受限分类,这是可能的吗?

那么,您能给我一个示例,用来替换“添加项目……”吗?请告诉我我理解得对吗?

category-slug:我们要设为受限的分类的名称
预览名称:例如:我的受限分类
预览描述:例如:“这是一个受限分类”
URL:https://example.com/c/ category-slug /12
群组:这是指有权访问该受限分类的群组名称。

2 个赞

你的英语进步很大 :slight_smile: 即使对母语为英语的人来说,设置这个也不容易。

是的,你可以按照这份指南操作:Understanding groups and category permissions

接近了!

如果有帮助的话,以下是我在演示主题设置中的配置:

junk~受限分类预览~此分类仅对“joinable-group”用户组的成员可见。点击以获取更多信息。~https://theme-creator.discourse.org/pub/logged-in-user-access~joinable_group

以及它与主题设置描述的关系:

主题设置部分
category-slug junk
预览名称 受限分类预览
预览描述 此分类仅对“joinable-group”用户组的成员可见。点击以获取更多信息。
https://example.com https://theme-creator.discourse.org/pub/logged-in-user-access
group joinable_group

下面是一个图表,展示各部分之间的关系:

在图中,“ :lock: 受限”是实际的分类,只有 joinable_group 用户组(以及默认的管理员)可以访问。

9 个赞

谢谢你花时间,兄弟。好的好的,这样清楚多了。其实之前确实不太明显 ^^ 那我们就这么做吧!再次感谢 :slight_smile:

1 个赞

你好,又是我 ^^

我把设置放在这里:

我有几个问题:

1:如何构建 URL?
2:当我们在“分类预览”附近填写设置并确认后,就完成了吗?
3:我这样做了,但无法看到私密分类。我需要手动创建它吗?

谢谢,再次抱歉,这对我来说太难了。

1 个赞

你好 :slight_smile:

  1. 是哪个 URL?能否分享您截图中 category previews 主题设置的完整值?根据您在该设置中输入的内容,我应该能为您提供建议。

  2. 当您修改 category previews 设置时,请点击文本框外部,此时应会出现两个按钮。请使用绿色的按钮保存更改。保存更改后,您需要刷新所有已打开的浏览器标签页/窗口才能看到效果。

  3. 假设 Groupe privee 是您已创建的类别,您需要找到并使用其对应的 slug。它很可能类似于 group-privee。您可以通过导航到 Groupe privee 类别并查看浏览器地址栏来确认这一点。例如,此处 Mete 上的 #theme 类别使用的 slug 就是 theme

    image

1 个赞

感谢您的回复。

以下是分类预览:Groupe privee~Parlons societe offshore~该分类仅对已加入该组的用户开放。~https://forum.objectifhijra.com/pub/logged-in-user-access~groupe_joignable

如果我理解正确,分类需要预先创建吗?我尝试使用现有分类,结果一样,没有任何反应。

是的,我提到的就是分类预览中的 URL。这个 URL 是如何生成的?或者如果我们确实需要先创建分类,那我就使用 Discourse 自动生成的 URL。

1 个赞

有几个问题需要解决:

  1. 您的论坛正在使用“带框分类”样式,因此无法正常工作。根据原始帖子:

  2. 您的设置第一部分(Group privee)必须是现有公开分类的 slug。预览将显示在该分类上方。它不应是您试图预览的分类名称。

  3. 您使用的 URL(https://forum.objectifhijra.com/pub/logged-in-user-access)似乎不是一个已发布的真实页面。您需要按照 Page Publishing 中的说明创建一个已发布的页面,并使用生成的该页面链接。

  4. 请确保您确实拥有一个名为 groupe_joignable 的群组。

不幸的是,我不确定还能为您提供多少帮助。仅靠文字解释相当困难,而且我认为我们的语言障碍也增加了难度。我建议您在 Marketplace 分类中发帖,看看是否能聘请某人登录您的网站,直接为您提供帮助。

3 个赞

没问题,兄弟!我都明白了!谢谢。

很遗憾,盒式分类样式无法使用:[表情:皱眉]

我该怎么做呢……

不管怎样,感谢你的付出。我相信这会对其他人有所帮助。

2 个赞

我刚了解到这个主题组件,很兴奋它或许能简化我一直使用的一些变通方案。我有几个问题,不确定是因为我对机制的理解还不够,还是相关功能尚未实现:

  1. 匿名(未登录)用户是否应该能在 /categories 列表中看到分类预览项?我原本希望他们能看到可浏览的内容,从而鼓励他们注册账号,但在我目前的测试中,还无法实现这一效果。

  2. 管理员是否即使属于被指定为不应查看该预览的组,仍然能看到分类预览?我属于字符串中指定的 group-x,但仍然在受限制分类的上方看到了该预览。

4 个赞

当然可以,这正是该组件应覆盖的最重要场景之一!请确保你使用的是预览应显示在其上方的分类的 slug。如果有帮助,这篇帖子 比原始发帖更详细地分解了相关设置。

是的,我想确保工作人员(版主/管理员)始终能看到预览,以便他们随时了解其存在和位置。在测试组件时,最好使用测试用户账号。

4 个赞