Semantic MediaWiki的StructuredDiscussions扩展:能否创建指定名称讨论页的链接?
解决方案:自动预填充讨论页名称的嵌入链接
核心方法:利用MediaWiki特殊页面参数+页面变量
StructuredDiscussions的「Enable Structured Discussions」特殊页面(Special:EnableStructuredDiscussions)支持通过URL参数预填充目标讨论页名称。你可以直接在维基页面中嵌入以下链接代码:
[[Special:EnableStructuredDiscussions?target={{PAGENAME}} Discussion|创建本页讨论区]]
{{PAGENAME}}是MediaWiki内置变量,会自动替换为当前页面的名称target参数用于指定要创建的讨论页名称,按[维基页面名] Discussion格式拼接后自动填入输入框- 点击该链接会直接跳转到启用页面,输入框已预填好目标名称,只需确认创建即可
进阶:封装为模板复用
如果需要在多个页面快速调用,可创建一个模板(比如Template:CreateDiscussion),内容如下:
[[Special:EnableStructuredDiscussions?target={{PAGENAME}} Discussion|{{{1|创建本页讨论区}}}]]
使用时,在页面中直接插入{{CreateDiscussion}}即可显示默认文字的链接,也可自定义链接文字:{{CreateDiscussion|开启本页讨论板块}}
替代方案:直接创建讨论页跳转
如果上述参数方法因版本或配置问题失效,可直接生成指向目标讨论页的链接,引导用户创建:
[[{{PAGENAME}} Discussion|创建本页讨论区]](点击后若页面不存在,按提示启用StructuredDiscussions即可)
当用户点击链接时,若讨论页未创建,会进入创建流程,此时系统可能自动关联原页面的StructuredDiscussions设置,部分版本中会直接触发启用讨论区的步骤。
内容的提问来源于stack exchange,提问作者artem
相关产品推荐
相关产品推荐

