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.

Foi útil?

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!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top