Mediawiki tag personalizada Pára página de análise
Pergunta
Eu criei alguns mediawiki tags personalizadas, usando a guia encontrada aqui
http://www.mediawiki.org/wiki/Manual:Tag_extensions
Vou postar o meu código abaixo, mas o problema é que depois que ele atinge a primeira marca personalizada na página, ele o chama, e imprime a resposta, mas não obter tudo o que vem depois dela no texto.Parece que ele só pára de análise a página.
Qualquer Idéias?
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";
}
Atualização:@George Mauer-eu tenho visto isso também, mas isso não impede que a página de renderização, apenas o Mediawiki motor de analisar o restante do texto.É como se o bater a função personalizada é a sinalização do mediawiki que o processamento é feito.Eu estou no processo de mergulho no buraco de coelho, mas estava esperando alguém já viu esse comportamento.
Solução
Nunca usei o Mediawiki, mas que tipo de problema na minha experiência, o que é indicativo de um erro do PHP que ocorreu, mas foi suprimida com o @ operador ou por causa de erro do PHP a saída para o ecrã está desligado.
Eu odeio a recorrer a este método de depuração, mas quando absolutamente e totalmente frustrado em PHP que eu só vou começar a colocar instruções de eco a cada poucas linhas (sempre com um marcador para lembro-me para removê-los mais tarde), para descobrir exatamente onde o erro é proveniente.Eventualmente, você vai chegar ao fundo da toca do coelho e descobrir exatamente o que a linha de código problemático é.
Outras dicas
Bobo-me.
Teve de fechar as tags.
Em vez de<tag1>
Eu tinha que mudar para <tag1 />
ou <tag1></tag1>
Agora tudo funciona!