强制用户选择子类别?

论坛用户希望有一个作为“标签”的父类别(类似于他们之前在 phpBB 上的功能)。一个只包含子类别的类别。父类别中没有主题。

我非常清楚这并非 Discourse 类别的设计初衷。但要从具有不同类别结构的旧论坛引擎中找到新的类别重组方式并非易事,而且我的用户对当前的重组方式感到满意,尽管存在一个我稍后会描述的“问题”(请参阅带有视频的段落)。

父类别包含 4 个子类别。

强制用户在子类别中发帖的简单方法是,在“安全性”选项卡中取消选中“所有”的“创建”权限,并添加自定义文本以在用户无权在此父类别中创建主题时显示。

然而,一个问题是,“新主题”按钮会变灰,悬停时显示 :no_entry_sign: 符号,这确实不吸引人。
如果我们点击它(尽管图标没有任何提示我们可以点击它),我们会看到自定义消息(例如:“请选择一个子类别来发帖”),该消息也显示在类别页面的顶部(视频中的第一行)。

我猜有一个简单的 JavaScript 方法可以移除此特定按钮上的 disabled 类?
但即使我们这样做,另一个问题是,用户期望点击一个吸引人的按钮(正常状态,鼠标指针),会看到一个消息编辑器,而不是一条消息说“请点击其中一个子类别来创建主题”。您认为这会起到阻碍作用吗,因为论坛旨在吸引新用户,而不仅仅是为现有用户服务?
或者我们也许可以完全隐藏按钮……这可能很奇怪,因为“新主题”按钮会在允许主题的其他父类别中显示?

您是否强烈建议寻找另一种类别组织方式,允许父类别成为一个常规类别并拥有自己的主题,而不是一个“标签”?

您有什么建议?

2 个赞

您可以在模态框或新主题链接中添加子类别链接吗?

例如:
请在下方选择一个子类别来创建新主题。

<a>Subcategory1</a>
<a>Subcategory2</a>
<a>Subcategory3</a>


您还可以使用 CSS 修改按钮。像这样:

#create-topic {
  &.btn[disabled]:not(.is-loading),
  &.btn.disabled:not(.is-loading) {
    opacity: 1;
    cursor: pointer;
    &:hover,
    &:focus {
      background: var(--primary-medium);
      color: var(--secondary);
      svg {
        color: var(--secondary);
      }
    }
  }
}
2 个赞

这里有几种有趣的组织方式。\n\n使用标签作为子类别,并且必须使用 1 个标签。\n\nAir 主题有一个类别分组,列表中的标题。\n\n例如\n\n类别组名称 标题 1\n- 列出的类别\n\n\n我目前的设置是使用父级和子级。它有时会带来一些烦恼,尤其是作为管理员,我可以发布到任何地方,哈哈。\n\n在父级中,我保留了权限查看,子级拥有完全权限。\n\n类别隐藏器主题组件可以很好地清理汉堡菜单,使其仅显示父类别。

我想我想要这样的东西……实际上我想要的是一个不那么嘈杂的讨论……在浏览一个类别时,是否可以隐藏子类别中的所有主题?

这将需要一个自定义主题组件,甚至可能是一个插件。

至于该主题,我们最终保留了默认行为。

我可以编写代码。我觉得 Discourse 在某些方面太嘈杂了。我已经用 CSS 删除了“建议主题”,并试图让那些在技术使用方面有困难的人更容易阅读。他们抱怨找不到东西……我仍然不确定如何让他们的生活更轻松。他们习惯了 Google Docs 和 WhatsApp……但这太糟糕了。

我的功能请求是,当我打开一个类别时,不显示帖子列表,而是显示子类别的列表……然后在类别帖子列表下方显示子类别的帖子,您应该打开子类别才能看到子类别的帖子……这在我们的脑海中更容易映射……我想说。

我明白了 :slight_smile:
新用户可能感到不知所措的问题也在下面讨论过:


如果你有功能请求,请在 Feature 发布,因为这个话题是专门用于强制用户在创建某些类别的主题时选择子类别的 :slight_smile:

如果你知道如何实现你想要的功能(或者有相关问题),请随时在 Dev 分享,这对其他人也可能有所帮助 :slight_smile:

为了补充有关强制子类别选择的信息。

我在寻找解决方案时看到了这个帖子:Minimum category / sub-category dept level to post a topic - #3 by rbrlortie

我去年出于好奇注册了 @rbrlortie 的论坛,当我进入一个父类别时,我看到类别选择器预先填入了一个默认的子类别,这很好。但今天我查看了一下,它不再是这样工作的了。

3 个赞

此主题在上次回复后 30 天自动关闭。不再允许回复。