我想知道是否有办法仅在某些类别中显示页脚的某些部分。
例如,电子邮件链接 (mailto) 仅在Category:FAQ
我正在使用自定义皮肤。
在此代码段的帮助下,将为当前页面所属的每个类别将 CSS 类添加到您的正文标记中。然后,您可以在相应类的帮助下显示或隐藏某些元素。
如果您使用自己的自定义皮肤,您可以通过调用 OutputPage::getCategories()来检查当前 wikipage 属于哪些类别。不过,这可能会影响缓存。
if (in_array( 'FAQ', $out->getCategories() ) {
// do something
}
编辑:@Florian 在下面指出,你应该使用 OutputPage 方法来输出东西,而不是回显它们,所以我删除了那个不幸的例子。正如@Florian 还指出的那样,如果您希望这种效果对于可能选择了您的自定义皮肤之外的其他皮肤的用户也持续存在,您将不得不使用钩子,例如SkinTemplateOutputPageBeforeExec
.