7

在 MediaWiki 中,您可以使用变量(“Magic Word”),例如

{{PAGENAME}}

或者

{{REVISIONDAY}}

获取与正在查看的当前页面相关的特定信息。是否有类似的变量(或者可能是不同的方式)来获取登录到 wiki 的当前用户,例如

{{USERNAME}}

上下文:尝试使用 Semantic MediaWiki 中的#ask 查询来缩小结果页面的列表,以显示只有用户创建或编辑的页面:

{{#ask: [[Case Reflection:+]] [[Contributing User::{{USERNAME}}]]
 | format=template
 | template=Case Reflection Form Summary
 | link=all
 | sort=Last Edited
 | order=DESC
 | default=You have no case reflections related to this Case Study.}}
4

2 回答 2

2

有很多扩展,例如GetUserNameMyVariablesUserInfo。但是,显示用户名的整个概念与页面缓存不兼容(每次有人查看页面时都需要再次解析页面),因此通常不是一个好主意。

于 2012-10-18T11:40:13.000 回答
1

我只是在寻找同样的东西,看看我是否可以在没有扩展的情况下做到这一点。看起来有一个默认功能允许这样做,只要您希望它作为将静态版本写入页面的一部分,而不是说“你好,用户名!” (最后一种情况是他们没有将其作为标准变量实现的原因,因为它会导致缓存问题。)

维基媒体功能请求 T14733解析为:

{{subst:REVISIONUSER}}

{{REVISIONUSER}} 将动态显示最后一个编辑器,这通常不是您想要的。但是,例如,如果您想制作一个包含用户句柄作为某些插入文本的一部分的模板,这应该可以完成工作。我认为在你上面的例子中,

[[Contributing User::{{subst:REVISIONUSER}}]]

(我不确定 Semantic Mediawiki 是否会让你摆脱替换,但如果确实如此,进一步的说明在手册:替换,多级替换部分。)

于 2015-03-06T05:53:35.190 回答