MediaWiki:更改页面底部类别的标签

时间:2012-08-22 12:17:01

标签: mediawiki categories

mediawiki 中,是否可以更改文章底部的“类别”标签。

例如以下文章:

=Paris=
blablablablablabla

[[Category:place_id]]

我希望看到更加冗长的内容(下面的例子不起作用):

=Paris=
blablablablablabla

[[Category:place_id|France]]

注意:我不想使用'重定向',我想保留我的奇怪ID,因为它们链接到外部数据库。

2 个答案:

答案 0 :(得分:1)

我认为mediawiki不支持此功能。 但是,如何使用:

[[Category:France]]
在您的网页中

,并将其设置为以您的ID命名的类别?法国只是“place_id”的子类别,您可以使用更多与父类别相关联的术语。为此,您只需编辑“France”的类别页面,插入:

[[Category:place_id]]

另一种方法是将您的页面放在两个类别中,但在这种情况下,仍然会显示ID:

[[Category:place_id]]
[[Category:France]]

答案 1 :(得分:0)

您可以使用OutputPageMakeCategoryLinks hook执行此操作。唉,这个钩子的界面似乎有点不方便 - 据我所知,它几乎只对完全替换标准类别链接生成代码有好处。不过,你可以这样做你想要的:

function myOutputPageMakeCategoryLinks( &$out, $categories, &$links ) {
    foreach ( $categories as $category => $type ) {
        $title = Title::makeTitleSafe( NS_CATEGORY, $category );
        $text = $title->getText();
        if ( $text == 'Place id' ) {
            // set $text to something else
        }
        $links[$type][] = Linker::link( $title, htmlspecialchars( $text ) );
    }
    return false;  // skip default link generation
}
$wgHooks['OutputPageMakeCategoryLinks'][] = 'myOutputPageMakeCategoryLinks';

(上面的代码基于OutputPage.php中的默认类别链接生成代码,有些简化;我假设你没有在你的wiki上使用language variant conversion,所以我删除了处理的部分请注意此代码未经测试!使用风险自负。)