[SPIP Zone] [SPIP - Contrib] [forum] Balise #SESSION pour remplacer $auteur_session

(ceci est un message automatique)

Message posté par Beurt <spip-contrib@sciencesnat.org> à la suite de
l'article « Balise #SESSION ».

Ne repondez pas a ce mail mais sur le forum a l'adresse suivante :
http://www.spip-contrib.net/Balise-SESSION#forum402744

** Balise #SESSION pour remplacer $auteur_session

* Il y a quand même une possibilité de remplacer le PHP par #SESSION en
contournant un peu (bref un hack un peu sale) :

D'abord on crée une variable qu'on réutilisera :
<BOUCLE_N_importe_quelle_rubrique(RUBRIQUES){0,1}>
#SET{rubrique_pour_tester,#ID_RUBRIQUE}
</BOUCLE_N_importe_quelle_rubrique>

Ensuite on va réutiliser rubrique_pour_tester pour conditionner notre
squelette à la présence d'une session : [(#SET{condition_boucle,''})] [
(#REM) Ici, on vérifie que la session existe. si c'est le cas, on affecte
la variable «condition_boucle» avec «rubrique_pour_tester», sinon, on
la laisse vide. ] [(#SESSION{id_auteur}|?{' ',''})
[(#SET{condition_boucle,#GET{rubrique_pour_tester}})] ] [ (#REM)Ce qui est
à l'intérieur de la BOUCLE qui suit ne s'exécute que si la session
existe, car si la session n'existe pas «condition_boucle» est vide et
donc ne contient pas un id_rubrique. ]
<BOUCLE_CONDITIONNELLE_Session_ou_pas(RUBRIQUES){id_rubrique=#GET{condition_boucle}}>
Ici, la partie du squelette a éxécuter quand la session existe...
</BOUCLE_CONDITIONNELLE_Session_ou_pas> Ici, l'autre partie du squelette,
c'est-à-dire celle qui s'exécute quand la session n'existe pas. Par
exemple un #LOGIN_PUBLIC <//B_CONDITIONNELLE_Session_ou_pas>

Pour que ça fonctionne, je pense que #CACHE0 est indispensable (James, tu
confirmes ?).

On peut décliner pas mal ce genre de boucles conditionnelles en changeant
[(#SESSION{id_auteur}|?{' ',''})
[(#SET{condition_boucle,#GET{rubrique_pour_tester}})] ]

Par la condition que vous voulez tester (#ENV, diverses balises, etc.). On
peut aussi faire en sorte que la BOUCLE ne serve pas qu'à tester une
variable en ne choisissant pas la rubrique de « rubrique_pour_tester »
au hasard, mais en choisissant celle que l'on va utiliser (ou bien faire
une boucle conditionnelle, sur des MOTS, des ARTICLES, des BREVES... Bref,
ce que vous voulez c'est très flexible...)

C'est très pratique, et permet d'éviter le PHP...

http://www.spip-contrib.net/spip.php?page=suivi