samedi 9 mars 2013
Formulaire Drupal : ajouter l'option Autre dans une liste de choix
Publié par Infinite Loop, à 10 h 29
0 commentaire
Il y a quelques jours, j'écrivais à propos de l'ajout d'une liste pré-construite d'options dans un webform de Drupal 7 en expliquant comment présenter une liste de réponses possibles à une question d'un sondage. J'avais indiqué que je reviendrais plus tard sur un cas particulier où la réponse qu'aurait souhaité donner le visiteur ne figurait pas parmi la liste des choix proposés. Dans ce cas, on voudrait laisser le visiteur saisir une valeur autre et c'est exactement la solution que propose le module Select (or other).
- Installez le module
- Modifiez le champ de type Select options du webform pour lequel on veut ajouter l'option "Autre"
- Cochez la case "Allow "Other..." option
- Indiquez une étiquette pour cette option, par exemple "Autre fureteur"
- Enregistrez
Rafraîchissez la page du formulaire, vous devriez voir apparaître un nouveau bouton radio qui, une fois sélectionné, fait apparaître un champ pour saisir une réponse différente de celles proposées.
Évidemment, le module prend en charge la validation du nouveau champ qui est requis si l'option autre est sélectionnée. Mais nous avons causé un petit problème avec notre formulaire en français. En soumettant un formulaire vide (aucune saisie), remarquez l'erreur dans le message d'erreur affiché :
Alors qu'on s'attend à voir apparaître "Autre fureteur is required", tiré de l'étiquette que nous avons créé, on voit plutôt "is required", sans étiquette...
Ceci est causé par un problème de traduction du champ (et parce que le site est actuellement unilingue anglais). Je reviendrai sur la solution lors d'un prochain billet.