saisies et select

Bon je commence à saisir pour les saisies ...

Mais j'ai une nouvelle question.

Dans mon ancien formulaire, j'ai un select avec

<select name="#GET{name}" id="#GET{name}">
<option value=""><:escal:xxxxxx:></option>
<BOUCLE_groupes(GROUPES_MOTS){par sinum titre, num titre, titre}{titre !IN affichage, Agenda_couleur}>
<option value="#TITRE">#TITRE</option>
</BOUCLE_groupes>
</select>

Comment coder les saisies pour aller chercher les titres des groupes de mots-clés ?

JC

Le 19.05.21 à 15:11, Jean-Christophe Villeneuve a écrit :

Bon je commence à saisir pour les saisies ...

Mais j'ai une nouvelle question.

Dans mon ancien formulaire, j'ai un select avec

<select name="#GET{name}" id="#GET{name}">
<option value=""><:escal:xxxxxx:></option>
<BOUCLE_groupes(GROUPES_MOTS){par sinum titre, num titre, titre}{titre !IN affichage, Agenda_couleur}>
<option value="#TITRE">#TITRE</option>
</BOUCLE_groupes>
</select>

Comment coder les saisies pour aller chercher les titres des groupes de mots-clés ?

JC

on a une saisie groupe mots, elle est juste pas documentée.
Si tu ouvre saisies/groupes_mot.html, tu as la liste des paramètres.

Et si jamais on n'avait pas eu, il aurait fallut créer ta propre saisies (ou bien remplir dynamiquement le "data" de ta saisies dans tafonction PHP en faisant une requete sql).

J'y suis presque, j'ai juste un souci avec groupes_exclus

'groupes_exclus' => array('affichage','trombino',)

ne m'exclut rien

'groupes_exclus' => array(
'groupe1' => 'affichage',
'groupe2' => 'trombino',
)

ne m'exclut rien non plus

JC

Le 19/05/2021 à 15:13, Maïeul Rouquette a écrit :

Le 19.05.21 à 15:11, Jean-Christophe Villeneuve a écrit :

Bon je commence à saisir pour les saisies ...

Mais j'ai une nouvelle question.

Dans mon ancien formulaire, j'ai un select avec

<select name="#GET{name}" id="#GET{name}">
<option value=""><:escal:xxxxxx:></option>
<BOUCLE_groupes(GROUPES_MOTS){par sinum titre, num titre, titre}{titre !IN affichage, Agenda_couleur}>
<option value="#TITRE">#TITRE</option>
</BOUCLE_groupes>
</select>

Comment coder les saisies pour aller chercher les titres des groupes de mots-clés ?

JC

on a une saisie groupe mots, elle est juste pas documentée.
Si tu ouvre saisies/groupes_mot.html, tu as la liste des paramètres.

Et si jamais on n'avait pas eu, il aurait fallut créer ta propre saisies (ou bien remplir dynamiquement le "data" de ta saisies dans tafonction PHP en faisant une requete sql).

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 19.05.21 à 16:12, Jean-Christophe Villeneuve a écrit :

J'y suis presque, j'ai juste un souci avec groupes_exclus

'groupes_exclus' => array('affichage','trombino',)

ne m'exclut rien

'groupes_exclus' => array(
'groupe1' => 'affichage',
'groupe2' => 'trombino',
)

ne m'exclut rien non plus

JC

Alors il faut que tu sache qu'il y 2 types de tableau en PHP
- les tableaux associations :
array(
  'cle1' => 'valeur1',
  'cle2' => 'value2'
)
- les tableaux numériques, où tu passe juste les valeurs
array('valeur1', 'valeur2')

Cette différence en spip se traduit par la différence #ARRAY / #LISTE

en l'occurence il te faut un tablaux numériques dont les valeurs sont les id des groupes.

Ce que tu peux voir enn regardant le côté
{id_groupe !IN #ENV{groupes_exclus,#ARRAY}}

Le 19/05/2021 à 16:56, Maïeul Rouquette a écrit :

Le 19.05.21 à 16:12, Jean-Christophe Villeneuve a écrit :

J'y suis presque, j'ai juste un souci avec groupes_exclus

'groupes_exclus' => array('affichage','trombino',)

ne m'exclut rien

'groupes_exclus' => array(
'groupe1' => 'affichage',
'groupe2' => 'trombino',
)

ne m'exclut rien non plus

JC

Alors il faut que tu sache qu'il y 2 types de tableau en PHP
- les tableaux associations :
array(
'cle1' => 'valeur1',
'cle2' => 'value2'
)
- les tableaux numériques, où tu passe juste les valeurs
array('valeur1', 'valeur2')

Cette différence en spip se traduit par la différence #ARRAY / #LISTE

en l'occurence il te faut un tablaux numériques dont les valeurs sont les id des groupes.

Ce que tu peux voir enn regardant le côté
{id_groupe !IN #ENV{groupes_exclus,#ARRAY}}

Ah ok il faut mettre les id et pas les titres.
Mais ça ne m'arrange pas du tout ça.
En effet, je ne peux pas connaître les id des groupes créés à l'installation d'escal.
Tout dépend si le site qui installe escal a déjà des groupes de mots-clés ou pas.
Et ce sont ceux-ci que je veux exclure.

ok donc en remplaçant {id_groupe !IN #ENV{groupes_exclus,#ARRAY}} par {titre !IN #ENV{groupes_exclus,#ARRAY}} ça fonctionne il faut donc que je crée ma propre saisie

Ah ok il faut mettre les id et pas les titres.
Mais ça ne m'arrange pas du tout ça.
En effet, je ne peux pas connaître les id des groupes créés à l'installation d'escal.
Tout dépend si le site qui installe escal a déjà des groupes de mots-clés ou pas.
Et ce sont ceux-ci que je veux exclure.

ok donc en remplaçant
{id_groupe !IN #ENV{groupes_exclus,#ARRAY}}
par
{titre !IN #ENV{groupes_exclus,#ARRAY}}
ça fonctionne

il faut donc que je crée ma propre saisie

ou bien si tu veux te baser sur les titres (mais je ne comprend pas en quoi cela change quelque chose pour déterminer s'ils existent ou pas à l'installation d'escal), tu peux faire une requete sql_select dans ta fonction php formulaire_truc_saisies, afin de recuperer les ids correspondant aux titres qui t'intéresse. Ce serait plus propre, ca éviterait de multiplier tes saisies.

ou bien si tu veux te baser sur les titres (mais je ne comprend pas en quoi cela change quelque chose pour déterminer s'ils existent ou pas à l'installation d'escal), tu peux faire une requete sql_select dans ta fonction php formulaire_truc_saisies, afin de recuperer les ids correspondant aux titres qui t'intéresse. Ce serait plus propre, ca éviterait de multiplier tes saisies.

autre solution, si tu est pas à l'aise avec l'idée de te plonger dans le bain de sql_select, tu fais une saisie groupes_mots_par_titre, qui retouver les id, les mets dans un tableau, et appelle ensuite groupes_mots (voir la doc sur la création de saisies pour les histoires de saisies par inclusion)

C’est escal qui installe ces groupes de mots-clés. Et comme je m’y connais encore moins en requête MySQL qu’en php, je vais me contenter du fichier saisies. JC

Le 19/05/2021 à 19:43, Maïeul a écrit :

ou bien si tu veux te baser sur les titres (mais je ne comprend pas en quoi cela change quelque chose pour déterminer s'ils existent ou pas à l'installation d'escal), tu peux faire une requete sql_select dans ta fonction php formulaire_truc_saisies, afin de recuperer les ids correspondant aux titres qui t'intéresse. Ce serait plus propre, ca éviterait de multiplier tes saisies.

autre solution, si tu est pas à l'aise avec l'idée de te plonger dans le bain de sql_select, tu fais une saisie groupes_mots_par_titre, qui retouver les id, les mets dans un tableau, et appelle ensuite groupes_mots (voir la doc sur la création de saisies pour les histoires de saisies par inclusion)

C'est plus simple de copier ton fichier et de le modifier

JC