如何将 Special:PrefixIndex/FULLPAGENAME 添加到本地 MediaWIki 安装的工具箱中?

How do I add Special:PrefixIndex/FULLPAGENAME to the toolbox in my local MediaWIki installation?

我想要侧边栏 "Tools" 部分中的一个工具,将读者带到 Special:PrefixIndex/FULLPAGENAME,其中 FULLPAGENAME 替换为当前页面的全名。例如,假设我在页面 Module:Citation/CS1 上,那么我想要侧边栏中名为 Subpages 的工具将我带到 Special:PrefixIndex/Module:Citation/CS1。我已经看到 (the mediawiki sidebar manual) 并且我添加了:

function CustomizeModificationsOfSidebar() {
    // Adds PrefixIndex
    var page = mw.config.get( 'wgPageName' );
    ModifySidebar( 'add', 'toolbox', 'Subpages', "http://127.0.0.1/mediawiki/index.php/Special:PrefixIndex/"'page' );
}

jQuery( CustomizeModificationsOfSidebar );

转到页面 MediaWiki:Common.js。这给出了 JavaScript 错误:Error: Expected ')' and instead saw 'page'. 阻止我保存页面。

您的脚本缺少逗号,应该是

    ModifySidebar( 'add', 'toolbox', 'Subpages', 'http://127.0.0.1/mediawiki/index.php/Special:PrefixIndex/', 'page' );

当然,您必须将实际的 ModifySidebar 功能添加到。

替代方法: 虽然手册中没有推荐,但你 可以 实际上使用魔术词,例如 MediaWiki:Sidebar 中的 {{FULLPAGENAME}},所以添加这样的东西应该有效:

*Special:PrefixIndex/{{FULLPAGENAME}}|subpages

不过,您可能 运行 遇到缓存问题。确保 $wgEnableSidebarCacheLocalSettings.php 中关闭(默认情况下)

编辑:下面来自 Tgr 的评论也很相关:这将​​对性能产生影响