MediaWiki页面标题变量

时间:2014-08-26 23:09:34

标签: php mediawiki skin

我正在为MediaWiki(版本1.15)设计皮肤。我需要将被调用页面的标题包含在皮肤中。我的问题是,如何使用PHP实用地获取标题?我试着查看MediaWiki的文档但我找不到任何我正在处理的MediaWiki版本。

1 个答案:

答案 0 :(得分:1)

获取当前页面标题的标准方法是获取RequestContext或任何IContextSource类,在其上调用getTitle()以获取Title对象,然后调用其中一个getter方法,例如getPrefixedText()

Skin类本身是皮肤的正常上下文源,因此在皮肤代码中,这看起来像:

$title = $this->getTitle();
echo htmlspecialchars( $title->getPrefixedText() );

(事实上,Skin类还提供了另一种名为getRelevantTitle()的方法,您可以使用它而不是getTitle()。主要/唯一的区别是,在某些特殊页面上,如{{1在一个特定的wiki页面上,"相关的"标题将是被执行的页面,而不是特殊页面本身。)

请注意,许多皮肤为当前页面标题等内容定义了自己的快捷方式。例如,在Vector skin template code中,通过调用Special:MovePage来打印当前页面标题。如果您将新皮肤放在其中一个现有皮肤上,您可能更喜欢使用相同的快捷方式。