大家好。
我在想,是否可以有一个选项供用户选择,或者甚至有一个默认行为,即在已发布的页面中附加/包含一个链接,指向该页面所属的论坛主题。
我认为在帖子本身上手动创建这样的链接,然后又在已发布的页面中显示它,是没有意义的,因为这会形成一个循环,对吧?
大家是怎么做的?
如果您指的是 Discourse 页面发布,我不确定那会如何运作,因为页面可以从安全/私有类别中发布,也可以从论坛上的任何位置链接。
@Lilly 那么,您/人们如何在已发布的页面中指向(返回)已发布页面源自的主题,以便其他人可以在主题的论坛中评论/回复?
是的,但根据我的第一条消息/问题——在帖子本身上手动创建这样的链接,结果只在已发布的页面上显示,我认为这没有意义,因为这样会形成一个循环,对吧?
换句话说,那个链接在论坛的原始帖子中,指向它自己?(这会使帖子重复,我曾想过这一点,所以已发布的页面带有一个链接+论坛中相同的帖子,没有链接,这没有意义)
那么,你总是可以创建一个主题组件或插件来实现你想要的功能,或者在 Marketplace 中聘请某人 ![]()
当然可以……做很多事情……但是,你/@devel 会怎么想我分享的第一个想法——“预期的”
我期望它,因为它作为选项/默认行为才有意义——因为“发布”是一个核心的“功能”。
如果 @devel 在这里看到,我建议——让已经很棒的软件变得更好(永无止境的故事)——通过这样的选项来增强“发布”机制:要么通过选择加入,要么通过默认行为,发布页面在论坛中有一个指向自身的“指针”。
已发布的页面“有两个”链接。
一个 /pub/ 链接到独立页面:
一个 /t/ 链接到主题:
正如你所说,现在主题中存在一个循环。
防止这种情况的一种方法是使用这个:
例如,在你的主题/已发布页面中写下:
[wrap=topic-link]主题链接:https://discourse.canapin.dev/t/published-page-with-own-topic-link/244[/wrap]
内容 🧑💻
在你的 CSS 中,写下:
article [data-wrap="topic-link"] {
display: none;
}
现在,已发布页面和主题看起来是这样的:
唯一的问题是,由于 Discourse 的默认规则:
.cooked > *:first-child, .d-editor-preview > *:first-child {
margin-top: 0;
}
主题中第一个可见内容有一个 margin-top。隐藏的第一个元素仍然是 CSS 检测到的第一个元素。当然,这可以解决,但这取决于你如何组织你的内容。例如,如果主题链接不是帖子中的第一个内容,则不会出现此问题。
在我的截图中,那是两个不同的主题,而不是一个已发布的主题链接到它自己。请看标题和链接。我不认为我明白了你在这里想要什么。
如果我没理解错的话,我认为他们希望已发布的页面能够像 Docs 插件那样工作,即页面的文档版本在内容末尾显示一个指向实际帖子的链接,以便你可以对其进行评论。
也许可以,就像文档中的“查看此主题的讨论”链接一样。有点像我上面的截图,但只是自动的。鉴于其工作方式,这对于页面发布并没有多大意义,您可以从论坛无数个地方链接到已发布的页面。我的论坛导航侧边栏菜单中有链接指向已发布的页面。也许可以将已发布的页面附加到主题以供讨论的一些选项作为一个功能请求?听起来几乎像是他们想要某种嵌入式评论。
也许 OP 应该看看 文档插件。
@Canapin 理解了。
这很简单,我已经尽力了,我怀疑我能做得更好,我会尝试:
1)创建主题,发布了哪个主题
2)用户想要基于主题创建的页面,我来做,指向——在页面内/上——链接回论坛上的原始主题。
目前,据我所知——除非像 @Canapin 建议的那样进行变通——URI 需要放入主题本身,这样已发布页面就会——作为主题的副本——指向该主题……这样主题就有一个指向自身的 URI 链接。
@devel - 增强“发布”功能的一些东西,正如我之前解释的,为了减轻这个“障碍”,在未来的版本中有一个选择加入/开启的选项“链接到主题”或类似的东西会很棒。
我同意这个功能请求——并且不得不像@Canapin那样拼凑出定制的解决方案。
至少提供一个递归链接回源头的选项将是一个明确的改进。
另一个不错的增强功能是,可以选择让已发布的页面自动将登录用户重定向到原始主题(如果他们可以查看该主题)。
我的主要用例是公开来自私有论坛的内容,我希望潜在用户能够更轻松地进一步参与——通常是活动。
啊哈,你的用例让我现在更清楚地理解了你的请求和原因。
谢谢你 @nathank。





