如何在所有MediaWiki页面中添加全局模板?

时间:2011-05-09 10:57:56

标签: mediawiki

我想为所有MediaWiki页面添加一个wiki标记(退出和未来的页面)。

这段wiki标记代码不必是页面正文的一部分,因为我不希望别人修改它。

我怎样才能获得这个?

详细信息:我正在使用FB-Connect扩展来启用Facebook身份验证和评论,但它看起来为了为所有页面启用评论,我必须将<fb:comments></fb:comments>附加到每个页面。我不想最终编辑每个维基页面。

3 个答案:

答案 0 :(得分:2)

我知道我已经迟到了,但是如果您还没有想到这一点,Mediawiki(Sitenotice)上有一个有用的功能,它允许您在所有维基页面的顶部显示已定义的文本。这应该有助于你的情况。

答案 1 :(得分:1)

我把我的facebook像按钮一样放入皮肤/ Vector.php。搜索页脚。我在这里描述:http://www.linuxintro.org/wiki/Mediawiki#FaceBook_like_buttons

答案 2 :(得分:0)

您可以编写一个小MediaWiki extension,使用hook执行一个函数,在已经解析文章内容后修改页面输出,并将注释区域插入所需的位置。

基于第72行here,看起来所有FB-Connect都会在文章文本中放置<fb:comments></fb:comments>时导致在HTML中输出相同的内容,其他一切都可能是由FB-Connect默认包含的javascript处理。因此,如果您希望评论框显示在内容框下方,则可以简单地使用SkinAfterContent挂钩(这是一个很好的示例,即Semantic MediaWiki的Factbox - example)。如果您希望评论框出现在文章内容中,或者特别是在文章内容中的特定位置,那么您需要一个页面呈现挂钩,可能是ParserAfterTidy,但我不确定。

如果您需要钩子函数来输出模板或其他mediawiki标记,那么可以或多或少地将一些标记和Page对象传递给Parser并获取生成的html文本。