Overview
Aprende a configurar opciones dinámicas para campos de lista desplegable y selección múltiple en ChronoForms. La guía cubre la preparación de tu array de opciones usando una acción PHP para datos estáticos/complejos o una acción Leer Datos para opciones basadas en base de datos. Explica cómo configurar la Fuente de Datos, la Ruta del valor de la opción y el Texto de la opción, incluyendo actualizaciones para v8.0.47 para manejar arrays unidimensionales.
Aquí se explica cómo configurar el comportamiento de Opciones Dinámicas para los campos de lista desplegable y campos de selección múltiple en ChronoForms v8; la misma configuración se puede usar para ChronoForms v7.
Comienza preparando tu array de opciones, puedes hacerlo usando:
- Una acción PHP si tienes una fuente de datos estática o compleja.
- Una acción Leer Datos si tus opciones provienen directamente de la base de datos.
Configuración de la acción PHP

Las acciones PHP devolverán un array con los valores y textos de las opciones.
A continuación, habilita el comportamiento de Opciones Dinámicas en tu lista desplegable y establece la Fuente de Datos como {var:php25}, que en este caso es el valor devuelto por la acción PHP llamada "php25", la acción que acabamos de crear.
También necesitaremos establecer la Ruta del valor de la opción en: {row:value} y el Texto del valor de la opción en {row:text}, ya que esta es la ruta para los valores y textos en nuestro array:

Puedes agregar cualquier opción por defecto en el cuadro de Opciones; estas aparecerán antes de las opciones dinámicas.
Configuración de Leer Datos

Y las Opciones Dinámicas de tu lista desplegable cambiarán en consecuencia:

- Usamos los resultados de la acción llamada "read_users" como la Fuente de Datos.
- Usamos el valor de id de la fila para el valor de la opción; cada fila proveniente de la tabla de usuarios tendrá un valor de columna "id".
- Usamos el valor de nombre de usuario (username) de la fila para el texto de la opción; cada fila proveniente de la tabla de usuarios tendrá un valor de columna "username".
Actualización v8.0.47
Si tienes ChronoForms v8.0.47 o posterior, también puedes usar {row:key} y {row:value} si tus valores son un array unidimensional, proveniente, por ejemplo, de un array JSON en la base de datos:

en este caso, {row:key} contendrá el índice del valor numérico y {row:value} contendrá el valor en sí.

Comments: