2013-04-29 347 views
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」頁面,則會出現以下消息:

此頁面上沒有內容。您可以在其他頁面中搜索此頁面標題,搜索相關日誌或編輯此頁面。

任何想法?

+0

我不確定爲此創建一個名稱空間是有意義的,你爲什麼試圖這樣做? – svick 2013-04-29 13:09:00

回答

相關問題