9 years ago
4
Topic

Bonjour,

j'aimerai faire un formulaire qui contient des champs multiples. C'est à dire par exemple qu'on puisse indiquer quels utilisateurs ont participé à un événement et que la personne qui saisi l'article soit libre de saisir entre 0 et n personnes. Idem pour les images, j'aimerai qu'on puisse ajouter une ou plusieurs images. Je n'ai pas trouvé comment faire ce genre de chose avec seblod, est-ce que quelqu'un pourrait m'aider ?

D'avance merci

casp

Get a VIP membership
9 years ago
1
Level 1

Bonjour casp,

Bienvenue sur les forums SEBLOD.

Nous vous invitons à utiliser le champ FieldX ou GroupX.

Le champ FieldX permet de répéter un autre champ (attention pas tous les types de champs). Par exemple répéter un champ texte pour saisir le nom d'un utilisateur. Le champ GroupX permet de répéter un ensemble de champs. Par exemple répéter 2 champs texte pour saisir le nom et le prénom.

Si les utilisateurs dont vous parler sont des utilisateurs "Joomla", vous pourriez répéter un champ de type select dynamique (qui va lister le nom des utilisateur - partie texte, et l'id de l'utilisateur - partie value) ou related author.

Cordialement.

9 years ago
0
Level 2

Merci beaucoup pour votre réponse, c'est exactement ce dont j'avais besoin !

Encore une question, je souhaiterai pour ce champ multiple que l'utilisateur puisse soit saisir une information dans un champ texte (si il veut introduire une nouvelle valeure), soit choisir dans une liste déroulante contenant les valeurs qui ont déjà été saisies précédements dans le champs en question. Y a-t-il un moyen simple de faire cela avec Seblod ?

Merci

casp

9 years ago
1
Level 1

Bonsoir casp,

une idée non testée mais qui devrait fonctionner :

Vous ajoutez les deux champs dans la vue formulaire de votre type de contenu :

  • Champ Select Dynamique => stockage : standard | article | my_field
    • la requete de construction doit recuperer toutes les valeurs distincts de la colonne.
  • Champ texte => Sans stockage

Sur le champ "Texte", ajouter la condition suivante :

  • "est masqué" & "est désactivé" & "est vide" -> si champ "Select" "est rempli"

Tant que le select n'est pas utilisé, vous pouvez ajouter une valeur dans le champs texte. une fois le select utilisé, le champ texte disparrait.

Ajouter ensuite un champ code "Before Store (Avant stockage)"

le but est de controler avant le stockage si le champ "Texte" possède une valeur.

Si oui, modifier le champs select avec la valeur saisie dan le champ texte.

Exemple de code :

if ( $fields['text_field_name']->value ) {
   $name = $fields['select_field_name']->storage_field;
   $table = $fields['select_field_name']->storage_table;
   $fields['select_field_name']->value = $fields['text_field_name']->value;
   $config['storages'][$table][$name] = $fields['text_field_name']->value;
}

Cordialement.

Lionel

9 years ago
0
Level 2

Bonjour,

merci pour votre réponse, je vais déjà essayer de mieux maitriser les choses plus basiques et j'essayerai ensuite d'appliquer votre proposition.

Bonne journée

casp

Get a VIP membership