*RUBRIQUE.HTML* #SET{organisme,#INCLURE{fond=inc-organisme}{je ne sais pas quoi
mettre=#ENV{je ne sais pas quoi mettre}}
<p>Mon id d'organisme est #GET{organisme}</p>
Même si c'est marrant de voir ce code, je trouve pas ça très chouette de glisser du php dans du SPIP ré interprétré... hum les conditions c'est pas fait pour les chiens et les [(!={}|{'',''})] non plus... Ceci dit avec un peu de réflexion, de pratique du #GET et #SET on ne devrait plus voir ce genre de question, ni ce genre de réponse PUBLICITES par liens interposés d'ailleurs!
RealET a écrit :
* arthegone arthegone tapuscrivait, le 06/04/2009 17:14:
*RUBRIQUE.HTML* #SET{organisme,#INCLURE{fond=inc-organisme}{je ne sais pas quoi
mettre=#ENV{je ne sais pas quoi mettre}}
<p>Mon id d'organisme est #GET{organisme}</p>
ok ma boucle n’est pas parfaite, c’est sur, mais en fait je posait une simple question suite à ce que j’ai trouvé dans SPIP-CONTRIB est il possible de recuperer ma variable ID_ORGANISME qui se situe dans ma noisette ?
En fait du get et du set dans le meme fichier, ca va mais via l’INCLURE je reste perplexe…
Même si c’est marrant de voir ce code, je trouve pas ça très chouette de glisser du php dans du SPIP ré interprétré… hum les conditions c’est pas fait pour les chiens et les [(!={}|{‹ ›,‹ ›})] non plus… Ceci dit avec un peu de réflexion, de pratique du #GET et #SET on ne devrait plus voir ce genre de question, ni ce genre de réponse PUBLICITES par liens interposés d’ailleurs!
RealET a écrit :
arthegone arthegone tapuscrivait, le 06/04/2009 17:14:
ET je souhaite savoir si il est possible de recuperer depuis mon squelette *
rubrique.html* la variable #GET{id_organisme} de ma noisette.
non.
un squelette inclu ne peut retourner d'information à son squelette incluant.
si je comprends bien ta structure de rubriques, tu cherches à récupérer la rubrique de niveau 3 pour quelque rubrique que ce soit, sauf pour les rubriques de niveau 0, 1 et 2.
tu devrais pouvoir faire directement dans ton squelette rubrique.html :
<BOUCLE_organisme(HIERARCHIE) {id_rubrique} {2, 1}>
[(REM) si la rubrique est de niveau 3 ou plus ] #SET{id_organisme, #ID_RUBRIQUE}
</BOUCLE_organisme>
[(REM) si la rubrique est de niveau 0, 1 ou 2
la boucle ci-dessus ne retourne rien ] #SET{id_organisme, 0}
<//B_organisme>
* arthegone arthegone tapuscrivait, le 06/04/2009 23:58:
Bonjour Bernard,
ok ma boucle n'est pas parfaite, c'est sur, mais en fait je posait une
simple question suite à ce que j'ai trouvé dans SPIP-CONTRIB est il possible
de recuperer ma variable ID_ORGANISME qui se situe dans ma noisette ?
Tu voudrait donc avoir :
Fichier incluant
inclusion noisette
dans la noisette, affecter une variable
utiliser la variable de la noisette dans le fichier incluant
Ce n'est pas possible en pur SPIP
Avec du PHP et en utilisant des globales (à partir de SPIP 2, c'est _nécessaire_), ça doit le faire, mais au prix d'un calcul du php à chaque hit.
* arthegone arthegone tapuscrivait, le 06/04/2009 23:58:
Bonjour Bernard,
ok ma boucle n'est pas parfaite, c'est sur, mais en fait je posait une
simple question suite à ce que j'ai trouvé dans SPIP-CONTRIB est il possible
de recuperer ma variable ID_ORGANISME qui se situe dans ma noisette ?
Tu voudrait donc avoir :
Fichier incluant
inclusion noisette
dans la noisette, affecter une variable
utiliser la variable de la noisette dans le fichier incluant
Ce n'est pas possible en pur SPIP
En fait, si, c'est envisageable si la noisette ne fait qu'une chose : renvoyer la variable.
Dans ta noisette, tu pourrais avoir :
<BOUCLE_.... #SET{mavariable,#BALISE}
</BOUCLE_...> #GET{mavariable}
Et dans ton squelette appelant :
[(#SET{mavariablerecuperee,#INCLURE{fond=monsquelettequinefaitquerenvoyerlavaleur}})]
C'est limité, mais ça peut être utilisable dans certains cas
Dans ta noisette, tu pourrais avoir :
<BOUCLE_.... #SET{mavariable,#BALISE}
</BOUCLE_...> #GET{mavariable}
Et dans ton squelette appelant :
[(#SET{mavariablerecuperee,#INCLURE{fond=monsquelettequinefaitquerenvoyerlavaleur}})] C'est limité, mais ça peut être utilisable dans certains cas
test_boucle2.html (appelé) : #SET{mon_retour, retour de noisette}
résultat :
rien, nada, nib, queudchi...
bien sûr si tu demandes à l'appelé d'afficher #GET{mon_retour}
tu le verras sur la page de l'appelant, mais la valeur n'en aura pas
plus été été transmise...
Dans ta noisette, tu pourrais avoir :
<BOUCLE_.... #SET{mavariable,#BALISE}
</BOUCLE_...> #GET{mavariable}
Et dans ton squelette appelant :
[(#SET{mavariablerecuperee,#INCLURE{fond=monsquelettequinefaitquerenvoyerlavaleur}})] C'est limité, mais ça peut être utilisable dans certains cas
la *valeur calculée* dans le squelette appelé est bien
<br />
*affectée* à la variable définie dans le squelette appelant :
GET{mon_appel} => ' #GET{mon_appel} '
<br />
alors que la *variable définie* dans le squelette appelé
<br />
n'est pas *transmise* au squelette appelant :
GET{mon_retour} => ' #GET{mon_retour} '
résultat affiché :
la *valeur calculée* dans le squelette appelé est bien
<br />
*affectée* à la variable définie dans le squelette appelant :
GET{mon_appel} => ' retour noisette'
<br />
alors que la *variable définie* dans le squelette appelé
<br />
n'est pas *transmise* au squelette appelant :
GET{mon_retour} => ' '
Je trouve que tu ne décris pas bien ce qui se passe
et que tu (t')embrouille avec des notions hors sujet ici
("portée" de variable...)
Ce que ce qui se passe me paraît somme toute plus simple,
et peut être décrit comme juste une création et insertion de texte :
1) le squelette inclu génère un texte.
2) ce texte est inséré dans le squelette appelant à l'endroit de l'inclure
3) lorsque l'inclure est fait en partie 'valeur' (droite) d'un #SET,
le #SET affecte la variable (partie gauche)
... avec le texte généré par le squelette inclu.
la *valeur calculée* dans le squelette appelé est bien
<br />
*affectée* à la variable définie dans le squelette appelant :
GET{mon_appel} => ' #GET{mon_appel} '
<br />
alors que la *variable définie* dans le squelette appelé
<br />
n'est pas *transmise* au squelette appelant :
GET{mon_retour} => ' #GET{mon_retour} '
résultat affiché :
la *valeur calculée* dans le squelette appelé est bien
<br />
*affectée* à la variable définie dans le squelette appelant :
GET{mon_appel} => ' retour noisette'
<br />
alors que la *variable définie* dans le squelette appelé
<br />
n'est pas *transmise* au squelette appelant :
GET{mon_retour} => ' '