2

mediawikiで、記事の下部にある「カテゴリ」のラベルを変更することは可能ですか?

たとえば、次の記事の場合:

=Paris=
blablablablablabla

[[Category:place_id]]

次のようなもっと冗長なものを見たいと思います(以下の例は機能しません):

=Paris=
blablablablablabla

[[Category:place_id|France]]

注: 「リダイレクト」を使用したくありません。外部データベースにリンクされているため、奇妙な ID を保持したいと考えています。

4

2 に答える 2

1

mediawikiがこの機能をサポートしているとは思いません。ただし、以下を使用するのはどうですか。

[[Category:France]]

あなたのページで、あなたのIDで名前が付けられたカテゴリにそれを設定しますか?フランスは「place_id」のサブカテゴリにすぎず、すべて親カテゴリにリンクされたより多くの用語を使用できます。このためには、「フランス」のカテゴリページを編集して、次のように挿入する必要があります。

[[Category:place_id]]

別の方法として、ページを両方のカテゴリに分類することもできますが、この場合、IDは引き続き表示されます。

[[Category:place_id]]
[[Category:France]]
于 2012-09-10T14:39:31.030 に答える
0

OutputPageMakeCategoryLinksフックでこれを行うことができます。残念ながら、そのフックのインターフェイスは少し不便なようです — 私が知る限り、標準のカテゴリ リンク生成コードを完全に置き換えるだけで十分です。それでも、必要に応じてそれを行うことができます:

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 で言語バリアント変換を使用していないことを前提としているため、それを処理する部分を削除しました。このコードはテストされていません! 自己責任で使用してください。)

于 2012-09-10T15:33:57.537 に答える