Overview
Aprenda a configurar opções dinâmicas para campos de menu suspenso e seleção múltipla no ChronoForms. O guia aborda como preparar seu array de opções usando uma ação PHP para dados estáticos/complexos ou uma ação Ler Dados para opções baseadas em banco de dados. Explica a configuração da Fonte de Dados, Caminho do valor da opção e Texto da opção, incluindo atualizações para a v8.0.47 para lidar com arrays unidimensionais.
Aqui está como configurar o comportamento de Opções Dinâmicas para os campos de menu suspenso e campos de seleção múltipla no ChronoForms v8, a mesma configuração pode ser usada para o Chronoforms v7
Comece preparando seu array de opções, você pode fazer isso usando:
- Ação PHP se você tiver uma fonte de dados estática ou complexa
- Ação Ler Dados se suas opções vierem diretamente do banco de dados
Configurações da ação PHP

As ações PHP retornarão um array com valores e textos das opções
Em seguida, habilite o comportamento de Opções Dinâmicas no seu menu suspenso e defina a Fonte de Dados como {var:php25}, que neste caso é o valor retornado da ação PHP chamada "php25", a ação que acabamos de criar
Também precisaremos definir o Caminho do valor da opção para: {row:value} e o Texto do valor da opção para {row:text}, pois este é o caminho para os valores e textos em nosso array:

Você pode adicionar quaisquer opções padrão na caixa Opções, elas aparecerão antes das opções dinâmicas.
Configurações de Ler Dados

E as Opções Dinâmicas do seu menu suspenso mudarão de acordo:

- Usamos os resultados da ação chamada "read_users" como a Fonte de Dados
- Usamos o valor de id da linha para o valor da opção, cada linha vinda da tabela de usuários terá um valor de coluna "id"
- Usamos o valor de username da linha para o texto da opção, cada linha vinda da tabela de usuários terá um valor de coluna "username"
Atualização v8.0.47
Se você tem o ChronoForms v8.0.47 ou posterior, também pode usar {row:key} e {row:value} se seus valores forem um array unidimensional, vindo de um array JSON no banco de dados, por exemplo:

neste caso {row:key} conterá o índice do valor numérico, e {row:value} conterá o valor em si

Comments: