我需要在我们的网站上使用较旧的Mediawiki扩展程序,不再维护。当我激活扩展时,我得到以下错误: '调用未定义的方法SpecialPage :: addPage()' 据我所知,这是因为自从版本1.25以来Mediawiki中他们改变了创建和注册新特殊页面的方式。我找不到示例,说明如何修复旧版扩展中的代码,以便它可以在MW的实际版本中工作。
以下是创建和注册SpecialPage的扩展的相关代码。
require_once( './includes/specialpage/SpecialPage.php' );
$wgSpecialPages['Events'] = new SpecialPage ( 'Events' );
$wgExtensionFunctions[] = 'efEventsExtn';
$wgExtensionCredits['specialpage'][] = array(
'name' => 'Events',
'author' => 'Barrylb',
'description' => 'Adds [[Special:Events|a special page]] for viewing events',
'url' => 'http://www.mediawiki.org/wiki/Extension:Calendar_%28Barrylb%29'
);
function efEventsExtn() {
$wgamMessages = array();
SpecialPage::addPage( new EventsExtn() );
$wgamMessages = array( 'events' => 'Events' , 'events-header' => '');
}
class EventsExtn extends IncludableSpecialPage {
function EventsExtn() {
SpecialPage::SpecialPage( 'Events', '', true, false, 'default', true );
}
...(其余代码似乎正常工作)
也许有人知道如何解决这个问题?
答案 0 :(得分:0)