Ca marche comment #ENV ?

Bonsoir,

j'ai lu ça : http://doc.spip.org/@balise_ENV_dist

puis j'ai mis ça dans un squelette pour tester :
<?php $CG_cookie = 999;?>
[(#ENV{CG_cookie,123})]

Je me suis dit que logiquement, je devrais avoir 999 comme retour, mais j'ai 123...
Donc il y a un truc qui m'échappe, mais quoi ??? La façon de définir la variable ?

Cordialement,

--
_________________________________
        Olivier Gautier
   Professeur de Mathématiques
     Personne Ressource TICE
       Académie de Rouen
Equipe de développement EVA-Web
_________________________________

Le 25 févr. 07, à 23:02, Olivier Gautier a écrit :
j'ai lu ça : http://doc.spip.org/@balise_ENV_dist
puis j'ai mis ça dans un squelette pour tester :
<?php $CG_cookie = 999;?>
[(#ENV{CG_cookie,123})]

Je me suis dit que logiquement, je devrais avoir 999 comme retour, mais
j'ai 123... Donc il y a un truc qui m'échappe, mais quoi ??? La façon de définir la
variable ?

hum!!! ... spip est exécuté *avant* le php, est-ce que cela n'aurait pas un rapport (genre ???
@+ NicolasR

#ENV récupère une variable d'environnement. Typiquement un argument transmis dans l'url. Par exemple #ENV{id_article} retournera l'id_article dans une page article.

Pour ce que tu veux faire, il faut utiliser #SET et #GET :
#SET{GG_Cookie, 999}
#GET{GG_Cookie} affichera 999

BMR

Olivier Gautier a écrit :

Bonsoir,

j'ai lu ça : http://doc.spip.org/@balise_ENV_dist

puis j'ai mis ça dans un squelette pour tester :
<?php $CG_cookie = 999;?>
[(#ENV{CG_cookie,123})]

Je me suis dit que logiquement, je devrais avoir 999 comme retour, mais j'ai 123...
Donc il y a un truc qui m'échappe, mais quoi ??? La façon de définir la variable ?

Cordialement,

BMR a écrit :

#ENV récupère une variable d'environnement. Typiquement un argument transmis dans l'url. Par exemple #ENV{id_article} retournera l'id_article dans une page article.

Pour ce que tu veux faire, il faut utiliser #SET et #GET :
#SET{GG_Cookie, 999}
#GET{GG_Cookie} affichera 999
  

Merci, mais je veux aller plus loin : comment faire pour remplacer 999 par une variable php ?

Plus précisément, ici, la variable est une variable globale définie dans un autre squellette inclus.

Cordialement, Olivier Gautier.

BMR

Olivier Gautier a écrit :
  

Bonsoir,

j'ai lu ça : http://doc.spip.org/@balise_ENV_dist

puis j'ai mis ça dans un squelette pour tester :
<?php $CG_cookie = 999;?>
[(#ENV{CG_cookie,123})]

Je me suis dit que logiquement, je devrais avoir 999 comme retour, mais j'ai 123...
Donc il y a un truc qui m'échappe, mais quoi ??? La façon de définir la variable ?

Cordialement,

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

--
_________________________________
        Olivier Gautier
   Professeur de Mathématiques
     Personne Ressource TICE
       Académie de Rouen
Equipe de développement EVA-Web
_________________________________

Comme a dit NicolasR, php est exécuté après les boucles Spip. Cad Spip convertit un squelette en html en laissant le php tel quel, et stocke ça dans le cache. Lorsque le squelette est appelé par la page (HTTP), c'est à ce moment-là que php est exécuté.

Donc si tu as des variables globales en php, il faudra les traiter via php. Tu ne pourras pas utiliser #ENV ou #SET/#GET. Enfin, j'ai pas essayé, mais il me semble que c'est comme ça que ça marche...

BMR

Olivier Gautier a écrit :

Merci, mais je veux aller plus loin : comment faire pour remplacer 999 par une variable php ?

Plus précisément, ici, la variable est une variable globale définie dans un autre squellette inclus.

Cordialement, Olivier Gautier.

BMR a écrit :

Comme a dit NicolasR, php est exécuté après les boucles Spip. Cad Spip convertit un squelette en html en laissant le php tel quel, et stocke ça dans le cache. Lorsque le squelette est appelé par la page (HTTP), c'est à ce moment-là que php est exécuté.

Donc si tu as des variables globales en php, il faudra les traiter via php. Tu ne pourras pas utiliser #ENV ou #SET/#GET. Enfin, j'ai pas essayé, mais il me semble que c'est comme ça que ça marche...
  

Flute, bon, je vais laisser tomber cette partie de mon plugin qui correspond à la récupération d'un cookie (php) et son traitement dans une balise dynamique puisque la balise ne peut pas traiter une variable php.

Merci tout de même à ceux qui m'ont répondu.

Cordialement, Olivier Gautier.

BMR

Olivier Gautier a écrit :

Merci, mais je veux aller plus loin : comment faire pour remplacer 999 par une variable php ?

Plus précisément, ici, la variable est une variable globale définie dans un autre squellette inclus.

Cordialement, Olivier Gautier.
    
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

--
_________________________________
        Olivier Gautier
   Professeur de Mathématiques
     Personne Ressource TICE
       Académie de Rouen
Equipe de développement EVA-Web
_________________________________