2
我有一個MediaWiki站點,我想添加一個非常簡單的「閱讀文章」功能(沒有任何編輯/評論選項)的選項卡。我遵循手冊並試圖爲它創建一個名稱空間,但它仍然不起作用。爲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」頁面,則會出現以下消息:
此頁面上沒有內容。您可以在其他頁面中搜索此頁面標題,搜索相關日誌或編輯此頁面。
任何想法?
我不確定爲此創建一個名稱空間是有意義的,你爲什麼試圖這樣做? – svick 2013-04-29 13:09:00