hook IndexBegin
Bonjour à vous,
j'ai un petit caillou dans ma chaussure là ...
je faisais des trucs avant qui marchaient mais vu les changements, je suis perdu !
Je souhaite analyser la présence d'un cookie (entre autres) avant le chargement d'une page (n'importe laquelle).
Je fais donc mon analyse via le hook IndexBegin.
Mais voilà que ça ne marche pas !
Voir un truc tout simple :
dans l'index.php à la racine du site avant le $output;:
puis dans le header.php du thème :
même ça ça bug ... comprend pas, et vous ?
Merci pour votre aide.
j'ai un petit caillou dans ma chaussure là ...
je faisais des trucs avant qui marchaient mais vu les changements, je suis perdu !
Je souhaite analyser la présence d'un cookie (entre autres) avant le chargement d'une page (n'importe laquelle).
Je fais donc mon analyse via le hook IndexBegin.
Mais voilà que ça ne marche pas !
Voir un truc tout simple :
dans l'index.php à la racine du site avant le $output;:
[== PHP ==]
$montest = "ok";
var_dump($montest);
me donne bien
string(2) "ok"
puis dans le header.php du thème :
[== PHP ==]
<?php var_dump($montest);?>
me donne
NULL
même ça ça bug ... comprend pas, et vous ?
Merci pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
PluXml joue beaucoup avec le buffer de sortie de PHP.
Dans index.php, la page est prête à expédier, il manque juste le ruban du paquet cadeau.
Mieux vaut détecter la présence du cookie dans ton template.
Si tu utilises un plugin perso, utilises peut-être le hook IndexBegin.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
j'utilises en effet un plugin perso.
il y a un truc que j'ai du mal à différencier.
Des fois, via les plugins, on va écrire ou ou encore voir
comment savoir quoi écrire où ?
Pour revenir à mon pb,
la détection d'un cookie n'a, à mon sens, rien à faire dans le template.
Cela doit se faire avant ...
Merci, @+
Pour répondre à ta question, il est normal que ton exemple ne t'affiche rien dans le header de ton thème car il n'y a pas de variable transmise entre l'index et le header.
Pour cela, il faut utiliser les hooks qui injectent du code (ce qui n'est pas exactement la même chose).
Et j'aurais plutôt utiliser plxMotorPreChauffageBegin qui intervient véritablement avant tout affichage (ce qui est mieux pour tester les cookies).
Tu affiches en faisant ça, la valeur de la variable $test que tu as définie préalablement dans ton plugin. Je ne crois pas que cela te retourne grand chose mise à part une erreur de syntaxe. Ici, $test est une variable définie dans pluxml et pas dans le plugin. En écrivant cela, tu affiches la valeur déterminée par le script d'origine (et pas par ton plugin). Généralement, on écrit cela avec des doubles quotes et pas des simples. Je pense que cet exemple devrait retourner une erreur de syntaxe.
Je suis d'accord. D'où l'utilisation de plxMotorPreChauffageBegin.