Type de champ de formulaire list
From Joomla! Documentation
Le type de champ de formulaire list fournit une liste déroulante ou des cases à cocher d'entrées prédéfinies et personnalisées. Si le champ a une valeur enregistrée, cette option est sélectionnée lors du premier chargement de la page. Sinon, la valeur par défaut (le cas échéant) est sélectionnée.
- type (obligatoire) doit être "list".
- name (nom) (obligatoire) est le nom unique du champ.
- label (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.
- default (par défaut) (facultatif) est la valeur de la liste d'éléments par défaut.
- description (facultatif) (traduisible) est le texte qui s'affichera dans une info-bulle lorsque l'utilisateur passe sa souris sur la liste déroulante.
- class (classe) (facultatif) est le nom de classe CSS pour le champ de formulaire HTML. Si non défini, 'inputbox' sera la valeur par défaut.
- multiple (facultatif) si la valeur est définie sur multiple, cela autorise la possibilité de sélectionner plus d'un groupe d'utilisateurs à la fois (true ou false).
- required (facultatif) si la valeur est définie sur true, la première option du champ devrait être vide. Consultez le dernier exemple.
- useglobal (facultatif) lorsque ce paramètre est défini à true, la valeur définie dans la configuration globale est affichée, si elle est trouvée en base de données.
L'élément XML <field>
doit inclure un ou plusieurs éléments <option>
qui définissent les éléments de la liste. Le texte compris entre les balises <option>
et </option>
sera affiché dans la liste déroulante et la chaîne est traduisible. La balise <option>
prend l'argument suivant :
- value (valeur) (obligatoire) est la valeur qui sera enregistrée pour le champ si cet élément est sélectionné.
- requires (facultatit) Valeurs possibles : multilanguage, associations et adminlanguage.
Astuce : n'oubliez pas de fermer la définition d'un champ avec </field>
.
Astuce : ajouter tout d'abord une option sans valeur, avec un texte tel que "Sélectionnez une option". Sinon, dans le cas d'un champ obligatoire, la première option avec une valeur sera 'silencieusement' sélectionnée (c'est à dire sans de choix par l'utilisateur). Ce texte sera généralement vu par les utilisateurs avant de cliquer sur la liste déroulante.
Astuce : Certaines valeurs pour le champ "name" sont réservées et ne doivent pas être utilisées pour éviter les problèmes. Parmi elles : "style".
Exemple de définition de champ XML :
<field name="mylistvalue" type="list" default="" label="Select an option" description="">
<option value="0">Option 1</option>
<option value="1">Option 2</option>
</field>
Exemple de définition de champ XML avec une valeur de champ obligatoire :
<field name="mylistvalue" type="list" default="" required="true" label="Select an option" description="">
<option value="">Please Select</option>
<option value="0">Option 1</option>
<option value="1">Option 2</option>
</field>
Showon attribute for list options
Since Joomla 3.9.0 one can use the showon
attribute for option
tags in a list field.
- See Showon documentation.
- This feature was introduced with the Pull Request #18998.
Example XML for two list fields fielda
and fieldb
where the displayed options of fieldb
are controlled by selections in fielda
<field
name="fielda"
type="list"
label="FIELDA_LABEL"
description="FIELDA_DESC"
>
<option value="editor">TYPE_EDITOR</option>
<option value="text">TYPE_TEXT</option>
<option value="textarea">TYPE_TEXTAREA</option>
</field>
<field
name="fieldb"
type="list"
label="FIELDB_LABEL"
description="FIELDB_DESC"
>
<option value="0">JNO</option>
<option value="1">Option 1</option>
<option
showon="fielda:text,textarea"
value="2">Option 2</option>
<option
showon="fielda:text"
value="3">Option 3</option>
</field>
- "Option 3" of
fieldb
is only displayed if option "TYPE_TEXT" is selected infielda
. - "Option 2" of
fieldb
is only displayed if option "TYPE_TEXT" OR "TYPE_TEXTAREA" is selected infielda
. - "Option 1" and "JNO" of
fieldb
is always displayed.