Bonjour,
J’ai une question pour les experts des modules.
Je travaille sur la création d’un module et j’ai besoin à un moment d’avoir un
formulaire dont l’un des paramètres transfèré est un tableau multidimensionnel ( n
ligne de 2 colonnes).
Mais je n’y arrive pas.
J’y arrive sans soucis si le tableau n’a qu’une seul colonne ( donc une liste de
valeurs).
Merci d’avance si qq un peut m’aider !
Je relance ma question.
Personne n’a une idée pour m’aider?
> Le 4 janv. 2024 à 19:00, Alexis Godin <alexis.godin@free.fr> a écrit :
>
> Bonjour,
>
> J’ai une question pour les experts des modules.
> Je travaille sur la création d’un module et j’ai besoin à un moment
d’avoir un formulaire dont l’un des paramètres transfèré est un tableau
multidimensionnel ( n ligne de 2 colonnes).
> Mais je n’y arrive pas.
> J’y arrive sans soucis si le tableau n’a qu’une seul colonne ( donc une
liste de valeurs).
>
> Merci d’avance si qq un peut m’aider !
>
> --
> Liste d'entraide des utilisateurs de Paheko
> https://paheko.cloud/
>
> Pour se désinscrire : https://paheko.cloud/entraide
> Archives : https://admin.kd2.org/lists/aide@paheko.cloud/archives/
Est-ce que tu cherches quelque chose comme ceci ?
array(1) {
["mat"]=> array(3) {
[0]=> array(2) {
[0]=> string(3) "e11"
[1]=> string(3) "e12"
}
[1]=> array(2) {
[0]=> string(3) "e21"
[1]=> string(3) "e22"
}
[2]=> array(2) {
[0]=> string(3) "e31"
[1]=> string(3) "e32"
}
}
}
si oui, voici comment je l'ai créé (il y a peut-être plus compact... à creuser)
{{:assign var="l1." value="e11"}}
{{:assign var="l1." value="e12"}}
{{:assign var="l2." value="e21"}}
{{:assign var="l2." value="e22"}}
{{:assign var="l3." value="e31"}}
{{:assign var="l3." value="e32"}}
{{:assign var="mat." value=$l1}}
{{:assign var="mat." value=$l2}}
{{:assign var="mat." value=$l3}}
{{:debug mat=$mat}}
Le principe est que chaque ligne est un tableau de 2 éléments.
Jean-Christophe Engel
Le 04/01/2024 à 19:00, Alexis Godin a écrit :
> Bonjour,
>
> J’ai une question pour les experts des modules.
> Je travaille sur la création d’un module et j’ai besoin à un moment
d’avoir un formulaire dont l’un des paramètres transfèré est un tableau
multidimensionnel ( n ligne de 2 colonnes).
> Mais je n’y arrive pas.
> J’y arrive sans soucis si le tableau n’a qu’une seul colonne ( donc une
liste de valeurs).
>
> Merci d’avance si qq un peut m’aider !
>
Hello, je n'ai pas compris ta question désolé.
Mais si c'est pour faire un tableau multi-niveau, c'est comme en HTML
et en PHP :
Dans le html :
<input type="text" name="post[1][a]" value="coucou" />
Dans le Brindille :
{{if $_POST.1.a == 'coucou'}}
Coucou
{{/if}}
Je suis parti sur quelque chose comme ça.
Mais déjà si je ne mets pas de . entre les 2 identifiants de cellule, ça me fait un
message d’erreur.
Du coup j’ai qqchose comme ça:
<input type="text" name=« validatedt[0][a]" value=« valeur 1"
/>
<input type="text" name=« validatedt[0][b]" value="valeur 2"
/>
<input type="text" name=« validatedt[1][a]" value="valeur 3"
/>
<input type="text" name=« validatedt[1][b]" value="valeur 4"
/>
Sauf que là je ne récupère qu’une table à une dimension:
validated[0] = "valeur 2"
validated[1] = "valeur 3"
En résumé c’est comme çi le code ignorait totalement la 2ème dimension de ma table
> Le 6 janv. 2024 à 20:56, BohwaZ/Paheko <bohwaz@paheko.cloud> a écrit :
>
> Hello, je n'ai pas compris ta question désolé.
>
> Mais si c'est pour faire un tableau multi-niveau, c'est comme en
HTML
> et en PHP :
>
> Dans le html :
>
> <input type="text" name="post[1][a]"
value="coucou" />
>
> Dans le Brindille :
>
> {{if $_POST.1.a == 'coucou'}}
> Coucou
> {{/if}}
>
> --
> Liste d'entraide des utilisateurs de Paheko
> https://paheko.cloud/
>
> Pour se désinscrire : https://paheko.cloud/entraide
> Archives : https://admin.kd2.org/lists/aide@paheko.cloud/archives/
Petite correction mon code est :
<input type="text" name=« validatedt[0].[a]" value=« valeur 1"
/>
<input type="text" name=« validatedt[0].[b]" value="valeur 2"
/>
<input type="text" name=« validatedt[1].[a]" value="valeur 3"
/>
<input type="text" name=« validatedt[1].[b]" value="valeur 4"
/>
sa,s le point entre les 2 argument ça plante
Voici un exemple de code qui ressemble au tien avec 3 captures d'écran
{{* Traiter l'envoi du formulaire *}}
{{#form on="save"}}
{{:debug post=$_POST}}
{{/form}}
<form method="post" action="">
<fieldset>
<legend>Modifiez les valeurs</legend>
<dl>
<input type="text" name="validated[0][a]" value="v1"
/>
<input type="text" name="validated[0][b]" value="v2"
/>
<input type="text" name="validated[1][a]" value="v3"
/>
<input type="text" name="validated[1][b]" value="v4"
/>
</dl>
</fieldset>
<p class="submit">
{{:button type="submit" name="save" label="Enregistrer"
shape="right"
class="main"}}
</p>
</form>
La variable $_POST.validated contient ce que tu veux, me semble-t-il :
["validated"]=> array(2) {
[0]=> array(2) {
["a"]=> string(5) "v1xxx"
["b"]=> string(6) "123456"
}
[1]=> array(2) {
["a"]=> string(6) "azerty"
["b"]=> string(4) "blob"
}
}
Jean-Christophe Engel
Le 08/01/2024 à 09:59, Alexis Godin a écrit :
> Petite correction mon code est :
> <input type="text" name=« validatedt[0].[a]" value=« valeur
1" />
> <input type="text" name=« validatedt[0].[b]" value="valeur
2" />
> <input type="text" name=« validatedt[1].[a]" value="valeur
3" />
> <input type="text" name=« validatedt[1].[b]" value="valeur
4" />
>
> sa,s le point entre les 2 argument ça plante
>