当前用户的MediaWiki中的变量

当前用户的MediaWiki中的变量,mediawiki,mediawiki-templates,Mediawiki,Mediawiki Templates,在MediaWiki中,您可以使用变量(“魔术词”),例如 或 获取与正在查看的当前页面相关的特定信息。是否有类似的变量(或可能不同的方式)来获取登录到wiki的当前用户,例如 {{USERNAME}} 上下文:尝试使用语义MediaWiki中的#ask查询缩小结果页面列表,以显示只有用户创建或编辑的页面: 有一系列的扩展,例如。显示用户名的整个概念与页面缓存不兼容(每次有人查看页面时,您都需要再次解析页面),因此通常这不是一个好主意。我只是在搜索相同的内容,看看是否可以在没有扩展的情况下执行

在MediaWiki中,您可以使用变量(“魔术词”),例如

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

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


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

我只是在搜索相同的内容,看看是否可以在没有扩展的情况下执行此操作。看起来有一个默认特性允许这样做,只要您想将其作为向页面写入静态版本的一部分,而不是说“Hello,Username!”(这就是为什么他们没有将其实现为标准变量,因为这会导致缓存问题。)

决议如下:

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

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

(我不确定Semantic Mediawiki是否会让您逃避替换,但如果确实如此,更多说明见。)

如果有人在代码库中查找此变量,则它是全局
$wgUser
对象。(这就是我碰到这个问题的原因。)谢谢,我用过了,而且很有效。
{{#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.}}
{{subst:REVISIONUSER}}
[[Contributing User::{{subst:REVISIONUSER}}]]