Question

J'ai créé quelques balises personnalisées Mediawiki, en utilisant le guide trouvé ici

http://www.mediawiki.org/wiki/Manual:Tag_extensions

Je publierai mon code ci-dessous, mais le problème est qu'après avoir atteint la première balise personnalisée de la page, il l'appelle et imprime la réponse, mais n'obtient rien de ce qui vient après dans le wikitext.Il semble qu'il arrête simplement d'analyser la page.

Des idées?

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";
}

Mise à jour:@George Mauer -- Je l'ai vu aussi, mais cela n'empêche pas le rendu de la page, mais simplement le moteur Mediawiki d'analyser le reste du texte wiki.C'est comme si le fait d'appuyer sur la fonction personnalisée signalait à Mediawiki que le traitement est terminé.Je suis en train de plonger dans le terrier du lapin, mais j'espérais que quelqu'un d'autre aurait vu ce comportement.

Était-ce utile?

La solution

Je n'ai jamais utilisé Mediawiki, mais ce genre de problème, d'après mon expérience, indique une erreur PHP qui s'est produite mais qui a été supprimée soit avec l'opérateur @, soit parce que la sortie d'erreur PHP à l'écran est désactivée.

Je déteste recourir à cette méthode de débogage, mais lorsque je suis absolument et totalement frustré en PHP, je vais simplement commencer à mettre des instructions echo toutes les quelques lignes (toujours avec un marqueur pour que je me souvienne de les supprimer plus tard), pour déterminer exactement d'où vient l'erreur. .Finalement, vous arriverez au fond du terrier du lapin et découvrirez exactement quelle est la ligne de code problématique.

Autres conseils

Que je suis bête.

J'ai dû fermer les balises.

Au lieu de<tag1> J'ai dû le changer pour <tag1 /> ou <tag1></tag1>

Maintenant, tout fonctionne !

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top