Campo de Formulario, Tipo list
From Joomla! Documentation
El campo de formulario, tipo list proporciona una lista desplegable de entradas definidas personalizadas. Si el campo tiene un valor guardado este es seleccionado cuando la página se carga por primera vez. Si no, el valor predeterminado (si existe) es seleccionado.
- type (obligatorio) debe ser list.
- name (obligatorio) es el nombre único del campo.
- label (obligatorio) (traducible) es el título descriptivo del campo.
- default (opcional) es el valor predeterminado del ítem de la lista.
- description (opcional) (traducible) es el texto que será mostrado como un texto de ayuda cuando el usuario mueve el ratón sobre el cuadro de lista desplegable.
- class (opcional) es un nombre de clase CSS para el campo de formulario HTML. Si se omite, el valor predeterminado será 'inputbox'.
- multiple (opcional) si varios elementos se pueden seleccionar al mismo tiempo (verdadero o falso).
- requerido (opcional) Si está seleccionado, la opción del primer campo deberá estar vacía, ver el ejemplo anterior.
- useglobal (opcional) si se establece en verdadero, mostrará el valor que se establece en la configuración global si se encuentra en la base de datos.
El elemento XML <field>
debe incluir uno o más elementos <option>
que definen los ítems de la lista. El texto entre las etiquetas <option>
y </option>
es lo que se mostrará en la lista desplegable y es una cadena traducible. La etiqueta <option>
lleva el siguiente argumento:
- value (obligatorio) es el valor que se guarda para el campo si este elemento está seleccionado.
- requires (opcional) Valores: multilenguaje, asociaciones y lenguaje de administración, pueden ser utilizados.
Sugerencia: no olvides cerrar la definición del campo con </field>
.
Sugerencia: Añadir una opción sin un valor, con un texto como "Seleccione una opción". De lo contrario, en el caso de un campo requerido, la primera opción con un valor es seleccionada en segundo plano (es decir, sin que el usuario haga elección de la misma). Este texto normalmente será visto por los usuarios antes de hacer clic en la lista desplegable.
Sugerencia: Algunos valores para el campo "nombre" están reservados, por lo que no los use y evite problemas. Uno de ellos es: "style (estilo)".
Ejemplo de Definición XML del campo:
<field name="mylistvalue" type="list" default="" label="Select an option" description="">
<option value="0">Option 1</option>
<option value="1">Option 2</option>
</field>
Ejemplo de definición de campo XML con valor de campo requerido:
<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.