gpt4 book ai didi

php - 将自定义标签添加到 MediaWiki 中的所有页面

转载 作者:搜寻专家 更新时间:2023-10-31 21:12:31 24 4
gpt4 key购买 nike

我有一个 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';

选项卡出现了,但它链接到“:Title”而不是“Article:Title”。如果我查找“文章:标题”页面,会出现以下消息:

There is currently no text in this page. You can search for this page title in other pages, search the related logs, or edit this page.

有什么想法吗?

最佳答案

不要触及 MediaWiki 源,否则每次升级时都必须重做同样的事情。使用 hooks 可以进行制表符操作,例如SkinTemplateNavigation .

关于php - 将自定义标签添加到 MediaWiki 中的所有页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16274185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com