Я создал несколько пользовательских тегов MediaWiki, используя руководство, найденное здесь
http://www.mediawiki.org/wiki/Manual:Tag_extensions
Я опубликую свой код ниже, но проблема в том, что после того, как он попадет в первый пользовательский тег на странице, он вызовет его и напечатает ответ, но не получит ничего, что последует за ним в википорте. Кажется, он просто перестает анализировать страницу.
Есть идеи?
if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) {
$wgHooks['ParserFirstCallInit'][] = 'tagregister';
} else { // Otherwise do things the old fashioned way
$wgExtensionFunctions[] = 'tagregister';
}
function tagregister(){
global $wgParser;
$wgParser->setHook('tag1','tag1func');
$wgParser->setHook('tag2','tag2func');
return true;
}
function tag1func($input,$params)
{
return "It called me";
}
function tag2func($input,$params)
{
return "It called me -- 2";
}
Обновление: @ Джордж Мауэр - я тоже это видел, но это не останавливает рендеринг страницы, просто движок Mediawiki анализирует остальную часть викитекста. Как будто нажатие пользовательской функции сигнализирует MediaWiki, что обработка завершена. Я нахожусь в процессе погружения в кроличью нору, но надеялся, что кто-то еще видел это поведение.