2011-05-09 43 views
4

我想为所有MediaWiki页面(退出和将来的页面)添加一段wiki标记。如何在所有MediaWiki页面中添加全局模板?

这段维基标记代码不一定是页面主体的一部分,因为我不想让人修改它。

我该如何获得这个?

详细信息:我正在使用FB-Connect扩展来启用Facebook身份验证和注释,但看起来,为了对所有页面启用注释,我必须在每个页面上添加<fb:comments></fb:comments>。我不想最终编辑每个wiki页面。

回答

0

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

基于线72 here,它看起来像所有FB-连接的确,当你把<fb:comments></fb:comments>在文章文字引起的HTML输出同样的事情,以及其他一切可能是由JavaScript(或多个)处理该FB-Connect默认包含。因此,如果您希望评论框出现在内容框下方,您可以简单地使用SkinAfterContent挂钩(一个很好的示例是Semantic MediaWiki的Factbox-example)。如果您希望评论框出现在文章内容中,或者特别是在文章内容的特定位置,那么您需要其中一个页面呈现挂钩,可能是ParserAfterTidy,尽管我不确定。

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

2

我知道我迟到了,但如果您还没有弄明白这一点,Mediawiki有一个有用的功能(Sitenotice),可以让您在所有wiki页面的顶部显示定义的文本。这应该有助于你的情况。

相关问题