在创建新主题时,是否可以根据主题标题预测将生成的 URL?
我这样问的原因是,我有一个向导设置,可以在完成后创建一个新主题。根据用户在字段中的输入,主题的标题将始终遵循特定的格式。
这里有一个奇怪的情况。我们没有使用 DiscoTOC(我们有原因),主题中的第一个帖子包含大量信息,但也包含一个目录。该主题将始终有 8 条回复,每条回复都将使用预设回复来创建每条回复的“标题”(1-7)。我已经让向导生成了带有指向每条回复的空白超链接的主题标题,例如:
[1. Meeting Agenda](/2)
[2. Meeting Files](/3)
[3. In meeting votes](/4)
[4. Meeting Minutes - [Initial Draft] Preliminary for feedback](/5)
[5. Meeting Minutes - [Final Draft] Consideration for distribution](/6)
[6. Meeting Minutes - [Distribution Copy] Vote to accept meeting minutes](/7)
[7. Reserved](/8)
我这样问的原因是,一旦向导创建了主题,它就会留下这个目录列表供用户使用(在这个类别中,每个月都一样)。用户必须复制主题的 URL,然后在“/Reply#”前面粘贴,因为 Discourse 生成主题 URL 的方式是将线程号(动态)放在 URL 的末尾。使用向导,我可以生成整个 URL 的语法,但缺少主题 ID。
是否有办法在创建主题之前生成一个 URL(因此还没有主题 ID),以便 Discourse 忽略缺少的主题 ID 但仍然正确链接到该主题?在这种情况下,以及在其他一些使用向导在正在创建的新主题中自动生成链接的用例中,这将非常有帮助。
1 个赞
Falco
(Falco)
2
为什么向导不读取创建主题调用的响应,其中包含新创建的主题 URL,然后将其返回给您的用户?
2 个赞
我不确定在创建主题之前运行的向导如何捕获即将生成的 URL 并将其插入到向导的编辑器中。
pfaffman
(Jay Pfaffman)
4
也许让向导先创建主题,这样它就可以获取ID,然后用您想要的信息进行编辑?
是的,我只是想为必须维护记录系统但又需要防呆的用户消除手动步骤,因为这些人并不比非常基础的 Markdown 更舒适。
问题在于,负责的人不是根据功绩招聘或指定的,而是通过会员选举担任该职位,并且这是一个负责此事的特定选定职位。目前,每个月只是将一个 Word 文档扔进 Dropbox 文件夹。这对我们的一些图书馆风格和公共记录保存来说,在过渡到 Discourse 时存在一定的学习曲线。
因此,我正尽力满足用户每个月只需完成一个向导的需求。
pfaffman
(Jay Pfaffman)
6
那么也许用 API 来做?我不太明白这个问题,但它看起来像一个先有鸡还是先有蛋的问题。你通常可以只用 slug 而不带 topic ID,比如 https://meta.discourse.org/t/new-topic-url-format,所以也许那样会奏效。
说得太对了,Jay。
我猜归根结底是,向导已经负责创建主题标题,因此除了主题 ID 之外,URL 都可以完全预测。那么,有没有办法让 discourse 在 URL 不包含主题 ID 的情况下将用户重定向到某个主题,或者有没有任何自定义插件规则允许 discourse 在 URL 的其余部分匹配的情况下忽略主题 ID(除了主题 ID)?
pfaffman
(Jay Pfaffman)
8
我认为,如果 slug 是唯一的并且不以数字开头,那么它应该可以在没有 topic_id 的情况下工作。
可以,但无法通过最后的 /reply# 精确跳转到特定回复。
因为它是 domain/title/postID/reply#
正在尝试找到一种方法,在 postID 字段不使用或使用通用占位符来直接跳转到回复。