在MediaWiki上显示编辑计数

时间:2015-03-13 06:43:13

标签: mediawiki mediawiki-api mediawiki-extensions

我想在用户页面上显示编辑/贡献的数量。有没有办法做到这一点?

我尝试使用此处提到的链接:http://en.wikipedia.org/wiki/Help:User_contributions

因此,如果遵循这一点,我得到的URL就像这样:

http://ourdomain/api.php?action=query&list=users&ususers=MYUSERNAME&usprop=editcount

如果我使用它,它会向我显示一个具有正确编辑计数的页面。但它显示为XML:

<?xml version="1.0"?>
<api>
  <query>
   <users>
      <user name="USERNAME" editcount="728" />
   </users>
  </query>
</api>

在这个XML页面上,我可以看到正确的编辑计数。但我只想将其显示为不同页面上的计数。类似于&#34; 编辑总数:728 &#34;。我们正在使用MediaWiki 1.15.5-7。

1 个答案:

答案 0 :(得分:4)

您已找到所需内容! API将为您提供用户编辑的最佳估计。您可以将要在每个综合浏览量上运行的Javascript添加到MediaWiki:Common.js,以将此数据注入用户页面。在您的API调用中,附加&format=json以获得更友好的JS格式。

如果出于某种原因,您不想在此处使用Javascript,则可以write your own extension在后端处理此问题。这可以实现为parser function,可以像{{USERCONTRIBS:UserName}}一样调用,或者类似。您要查找的方法是User::getEditCount()。要获取用户对象,可以使用User::newFromName。但是,这需要在每个页面加载时清除用户页面,这使得加载速度慢得多,或者您必须接受计数并不总是最新的。

可能还有一些现有的扩展程序可用于打印编辑计数。我确信Extension:SemanticExtraSpecialProperties确实如此,但这取决于整个SemanticMediawiki包。有关如何使用SMW + SESP显示用户统计信息的示例,请参阅this page

相关问题