2013-04-29 123 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

回答

相关问题