MediaWiki Wiki 自定义页脚取决于类别

MediaWiki Wiki Custom footer depending on category

我想知道是否有办法只在某些类别中显示页脚的某些部分。

例如电子邮件 link (mailto) 只有在 Category:FAQ

我正在使用自定义皮肤。

如果您使用自己的自定义皮肤,只需调用 即可检查您当前的维基页面属于哪些类别 OutputPage::getCategories()。不过,这可能会影响缓存。

if (in_array( 'FAQ', $out->getCategories() ) {
  // do something
}

编辑:@Florian 在下面指出,您应该使用 OutputPage 方法来输出内容,而不是回显它们,因此我删除了那个不幸的示例。正如@Florian 还指出的那样,如果您希望这种效果也适用于可能选择了其他皮肤而不是您的自定义皮肤的用户,则必须使用 a hook,例如 SkinTemplateOutputPageBeforeExec.

this snippet 的帮助下,为当前页面所属的每个类别将 CSS class 添加到您的正文标签中。然后,您可以在相应的 class.

的帮助下显示或隐藏某些元素