(J'ai effacé le message trop vite, désolé, j'ai cassé le thread)
Bonjour,
je cherche à faire utiliser une variable dans une boucle que j'affecte
en cours de route, vu que l'on ne peut utiliser de variable PHP da
#SET{groupe_retenus,"2,3,4"}
(...)
<BOUCLE_groupe (GROUPES_MOTS){id_groupe IN #GET{groupe_retenus} }>
(...)
ce qui devrait correspondre à :
<BOUCLE_groupe (GROUPES_MOTS){id_groupe IN 2,3,4}>
mais apparement ça fait pas la même chose, quand on regarde le debug,
respectivement :
SELECT FIELD(groupes_mots.id_groupe,'2,3,4') ..............
et.
SELECT FIELD(groupes_mots.id_groupe,2,3,4) ...............
quelqu'un aurait-il une idée ?
merci d'avance,
Essaie peut-être avec #GET{groupe_retenus}* ou #GET*{groupe_retenus} voire en doublant les astérisques, mais ça devient dangereux.
<BOUCLE_groupe (GROUPES_MOTS){id_groupe IN #GET{groupe_retenus} }>
(...)
Essaie peut-être avec #GET{groupe_retenus}* ou #GET*{groupe_retenus} voire en doublant les astérisques, mais ça devient dangereux.
pourquoi dangereux ?
merci encore
Bonjour
Parce qu'il n'y aura plus de filtrage du tout, donc risque d'inclusion malvaillante de code par l'URL?.
C'est vite dit.
Il y a un article dans Spip-contrib je crois qui parle des précautions à utiliser lorsque l'on utilise #ENV.
C'est peut-être dans le même ordre d'idée.
cette syntaxe attend que #GET soit un array, ce qui est pas trivial comme
utilisation.
Ca peut se faire en faisant #SET{groupe_retenus,#EVAL{array(2,3,4)}} en
attendant mieux
Mais il faudrait accepter les listes separees par des virgules, ca serait plus
sympatique et intuitif.
Ca peut se faire en faisant #SET{groupe_retenus,#EVAL{array(2,3,4)}} en
attendant mieux
ok quand c'est écrit "en dur" dans le squelette ça marche ...
mais je pensais (sans trop y croire) affecter comme ceci : #SET{groupe_retenus,#EVAL{array(<BOUCLE_select_mots(MOTS){id_rubrique}{","}>#ID_GROUPE</BOUCLE_select_mots>)}}
pour ensuite réutiliser plus bas (dans plusieurs boucles) :
<BOUCLE_entete_tableau_groupes(GROUPES_MOTS){id_groupe IN #GET{groupe_retenus}}>