pfaffman
(Jay Pfaffman)
1
我有一个网站,已禁用“允许未分类话题”,但未分类话题仍对未登录用户(或作为管理员登录的用户)在 Android 移动设备上显示。我刚执行了重建操作。主题组件无法解释此现象。问题在安全模式下依然存在。仅安装了官方插件。
我在桌面端未发现此问题。
https://www.druidforum.org/
1 个赞
pfaffman
(Jay Pfaffman)
3
没错!只是关于该主题,没有其他内容。根据我推测现行的规范,我实在想不通这怎么可能实现。而且这只是移动端,不是桌面端。
2 个赞
@tshenry,我们能否复现这个问题?听起来好像只在移动设备上出现?
3 个赞
tshenry
(Taylor)
5
我不认为在禁用“关于”主题时,它仍应保留在“未分类”中。网站设置“允许未分类主题”的描述中的警告指出(强调部分已加粗):
警告:如果存在任何未分类主题,在关闭此选项前,您必须重新分类它们。
您能否尝试将“关于”主题移至一个活跃的类别?在我的测试站点上,这样做似乎有效。
2 个赞
pfaffman
(Jay Pfaffman)
6
啊,好的。问题解决了。
这确实有点令人困惑,因为通常禁止删除“关于”主题(不过我想它也不算真正的“关于”主题,因为它并非真正的分类)。但我还是删掉了,现在“未分类”不再显示。我不得不在手机上操作,否则我根本找不到它。
“未分类”非常令人困惑,因为它根本不是一个分类。我真心认为它应该默认关闭。
1 个赞
不,因为我不相信要在第一时间强行将世界上每一个实例都归入“动物、植物、矿物”这种人为的分类。抱歉。
请务必注意其中包含的警告,该警告并非空穴来风:
警告:如果存在任何未分类的主题,在关闭此功能之前,您必须先重新分类它们。
话虽如此,@zogstrip,我们能否让这一行为规范化,使其在移动端和桌面端保持一致?
pfaffman
(Jay Pfaffman)
9
是的。我理解这个论点,过去也曾认同,但我认为设置一个默认类别比不设类别更有意义。不过,除非有一天我们能在同一个空间里碰面并喝上
,否则我会尽量不再提出这个建议。
@nbianca,你能否在你的待办事项中增加一项,调查一下为什么“未分类”在移动端显示,而在桌面端却不显示?
4 个赞
nbianca
(Bianca)
11
在桌面端,我们分别显示分类和主题;而在移动端,我们将分类与主题合并显示。考虑到这一点,导致该问题的代码行如下:
c.displayable_topics.blank? 在桌面端始终为 true,因为我们单独加载主题,所以 displayable_topics 始终为空。而在移动端,仅当该分类中确实没有任何主题时,该条件才为 true。
我们有两个解决方案:
第二个方案更容易实现,因为我们只需移除条件中的第二部分。
6 个赞
pfaffman
(Jay Pfaffman)
12
我认为,在开启该设置时,隐藏“未分类”中的话题(尽管有些奇怪)比不隐藏它们更不容易引起困惑。如果你关闭“未分类”选项,你会立刻注意到所有相关话题都消失了;但如果关闭该选项后没有任何变化,看起来就像系统出了故障。
2 个赞
我们就采用这个更简单的方案吧,毕竟我们已接近发布阶段,我不想冒太大风险。
2 个赞
sam
(Sam Saffron)
14
我在此的投票是“尽可能删除大量特殊的未分类代码”。这类代码越多,内容就越混乱。
因此,我支持以下方案:
只要存在未分类主题,就予以显示,无论“允许未分类主题”设置的值如何。
前提是实施该方案能删除 Discourse 中的特殊魔法代码,并减少我们需要处理的边缘情况。
总之,选择那个能从 Discourse 中删除更多代码的解决方案。
1 个赞
nbianca
(Bianca)
16
我在首帖中提交了针对该 bug 的修复方案:
我选择了第一种方案,因为它会删除 Discourse 中的一些代码。而另一种方案实际上需要添加代码来判断“未分类”类别中是否至少存在一个主题。
我还审查了所有使用 category.uncategorized? 的地方,发现如果我们让“未分类”不再那么特殊,而更像普通类别,那么以下几个位置可能就不再需要了:
这些部分不会干扰其他功能,因此变更风险较低,但仍然并不容易。
6 个赞