我只是尝试按照这些内容创建自己的wiki扩展名:Mediawiki - Develop Extensions
扩展程序有一个SpecialPage,当我访问mediawiki - SpecialPages网站时,我收到以下错误:
[cb6b6dfb1a33d10f07bcbc44] /index.php/Spezial:Spezialseiten Wikimedia\Assert\ParameterAssertionException from line 63 of D:\Wiki\mediawiki\wiki\vendor\wikimedia\assert\src\Assert.php: Bad value for parameter $dbkey: should not be empty
Backtrace:
#0 D:\Wiki\mediawiki\wiki\includes\title\TitleValue.php(82):Wikimedia\Assert\Assert::parameter(boolean, string, string)
#1 D:\Wiki\mediawiki\wiki\includes\specialpage\SpecialPage.php(100): TitleValue->__construct(integer, string, string)
#2 D:\Wiki\mediawiki\wiki\includes\specialpage\SpecialPage.php(84): SpecialPage::getTitleValueFor(string, boolean, string)
#3 D:\Wiki\mediawiki\wiki\includes\specialpage\SpecialPage.php(629): SpecialPage::getTitleFor(string, boolean)
#4 D:\Wiki\mediawiki\wiki\includes\specials\SpecialSpecialpages.php(70): SpecialPage->getPageTitle()
#5 D:\Wiki\mediawiki\wiki\includes\specials\SpecialSpecialpages.php(42): SpecialSpecialpages->getPageGroups()
#6 D:\Wiki\mediawiki\wiki\includes\specialpage\SpecialPage.php(522): SpecialSpecialpages->execute(NULL)
#7 D:\Wiki\mediawiki\wiki\includes\specialpage\SpecialPageFactory.php(576): SpecialPage->run(NULL)
#8 D:\Wiki\mediawiki\wiki\includes\MediaWiki.php(283): SpecialPageFactory::executePath(Title, RequestContext)
#9 D:\Wiki\mediawiki\wiki\includes\MediaWiki.php(851): MediaWiki->performRequest()
#10 D:\Wiki\mediawiki\wiki\includes\MediaWiki.php(512): MediaWiki->main()
#11 D:\Wiki\mediawiki\wiki\index.php(43): MediaWiki->run()
#12 {main}
使用Debug-notice:
Notice: Did not find alias for special page ''. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in D:\Wiki\mediawiki\wiki\includes\specialpage\SpecialPageFactory.php at line 691] in D:\Wiki\mediawiki\wiki\includes\debug\MWDebug.php on line 311
那么为什么要搜索一个空的别名''在尝试构建我的SpecialPage时?
我的MyExtensions.i18n.alias.php可能出错吗? 或者有没有人知道这种错误是否有更深层的变化?
答案 0 :(得分:0)
这听起来像是您的特殊页面别名的定义问题。
确保您的SpecialPage的别名已正确定义,并且别名页面本身已在您的扩展程序中正确附加在' ExtensionMessagesFiles' (所以它正在被阅读)。
有关详细信息,请参阅https://www.mediawiki.org/wiki/Manual:Special_pages#The_aliases_file。
此外,您可以使用https://tools.wmflabs.org/mwstew/工具创建一个扩展样板文件,其中包含您为您生成的特殊页面名称和别名。