3

私は MediaWiki サイトを持っており、非常に単純な「記事を読む」機能 (編集/コメント オプションなし) を備えたタブを追加したいと考えています。マニュアルに従って名前空間を作成しようとしましたが、それでも機能しません。

LocalSettings.php のスニペットは次のようになります。

define("NS_ARTICLE", 500);
$wgExtraNamespaces[NS_ARTICLE] = "Article";

$wgNamespaceProtection[NS_ARTICLE] = array( '' ); 
$wgNamespacesWithSubpages[NS_ARTICLE] = true;

$wgContentNamespaces[] = NS_ARTICLE;

Title.php に新しいメソッドを作成しました。

public function getReadPage() {
    return Title::makeTitle( MWNamespace::getRead( NS_ARTICLE ), $this->getDBkey() );
}

Namespace.php で:

public static function getRead( $index ) {
    self::isMethodValidFor( $index, __METHOD__ );
    return self::isTalk( $index )
        ? $index
        : $index + 1;
}

そしてSkinTemplate.phpで:

$readPage = $title->getReadPage();
$content_navigation['namespaces']['article']['class'] = 'selected';
$content_navigation['namespaces']['article']['text'] = 'Article';
$content_navigation['namespaces']['article']['href'] = $readPage;
$content_navigation['namespaces']['article']['primary'] = true;
$content_navigation['namespaces']['article']['context'] = 'subject';

タブが表示されましたが、「Article:Title」ではなく「:Title」にリンクしています。「Article:Title」ページを探すと、次のメッセージが表示されます。

現在、このページにはテキストがありません。このページ タイトルを他のページで検索したり、関連するログを検索したり、このページを編集したりできます。

何か案は?

4

1 に答える 1