Campo de Formulario, Tipo list

From Joomla! Documentation

This page is a translated version of the page List form field type and the translation is 78% complete.

Other languages:
English • ‎español • ‎français • ‎Nederlands

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.

Params.list.jpg
  • 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.

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 in fielda.
  • "Option 2" of fieldb is only displayed if option "TYPE_TEXT" OR "TYPE_TEXTAREA" is selected in fielda.
  • "Option 1" and "JNO" of fieldb is always displayed.

Ver también