Come creare un menu a discesa dinamico in Chronoforms 8

Impara a Creare un Menu a Discesa Dinamico in Chronoforms8: Guida Passo-Passo

Overview

Questo tutorial spiega come implementare un menu a discesa dinamico in Chronoforms8, dove le opzioni si aggiornano in base alle modifiche di un altro campo. Copre la configurazione di un Event Trigger, la configurazione di un Advanced Listener nel menu a discesa e la creazione di una pagina separata con uno script PHP per fornire nuove opzioni in formato JSON. Il processo garantisce che il menu a discesa si aggiorni con nuovi dati, come un elenco casuale di capitali, ogni volta che cambia il valore del campo di attivazione.

Un menu a discesa dinamico è un campo di selezione che aggiornerà le sue opzioni quando cambia un altro campo; in questo tutorial mostreremo come farlo in Chronoforms8

Innanzitutto, dobbiamo configurare un Event Trigger nel campo che attiverà il cambio delle opzioni:

Come creare un menu a discesa dinamico in Chronoforms 8 image 1

Configuriamo un trigger chiamato "reloadoptions" quando il "Valore Cambia" del nostro campo

Poi, nelle impostazioni del nostro Menu a Discesa, dobbiamo configurare un Advanced Listener:

Come creare un menu a discesa dinamico in Chronoforms 8 image 2

Il nome del trigger dovrebbe essere quello che abbiamo configurato prima "reloadoptions", l'Azione dovrebbe essere "Carica Opzioni" e i parametri dell'Azione sono l'alias della pagina che fornirà le nuove opzioni, nel nostro caso abbiamo una pagina chiamata "options"

Ora dobbiamo preparare la pagina "options" per ricevere la richiesta Carica Opzioni e restituire i risultati nel formato corretto:

Come creare un menu a discesa dinamico in Chronoforms 8 image 3

Abbiamo aggiunto una Nuova Pagina e impostato l'alias su "options", e il Gruppo Pagina su "options", è importante cambiare il gruppo pagina in qualcosa di unico nel modulo in modo che la pagina possa essere accessibile indipendentemente.

All'interno dell'evento Load della pagina options abbiamo un'azione PHP per restituire i risultati:

Come creare un menu a discesa dinamico in Chronoforms 8 image 4

Nel nostro caso abbiamo uno script PHP per restituire un elenco casuale di capitali:

$cities = [
    "New York", "London", "Tokyo", "Paris", "Sydney",
    "Toronto", "Berlin", "Rome", "Shanghai", "Istanbul",
    "Mumbai", "São Paulo", "Mexico City", "Cape Town", "Buenos Aires",
    "Moscow", "Singapore", "Los Angeles", "Bangkok", "Jakarta"
];

// Mescola l'array delle città per randomizzare l'ordine
shuffle($cities);

// Estrai 5 città casuali
$randomCities = array_slice($cities, 0, 5);

// Crea un array di coppie chiave-valore
$randomItems = [];
foreach ($randomCities as $city) {
    $randomItems[] = [
        'text' => $city,
        'value' => $city
    ];
}

// Output del risultato come JSON
echo json_encode($randomItems, JSON_PRETTY_PRINT);

nota che l'elenco è codificato in Json ed è un array di array, ogni array interno è un'opzione e ha 2 chiavi, "text" per il testo dell'opzione e "value" per il valore dell'opzione

Questo è tutto, ora quando il campo di attivazione cambia (su Cambio Valore) il menu a discesa riceverà il trigger e chiamerà la pagina "options" ottenendo l'elenco aggiornato delle opzioni.

You may also like:

Comments:

You need to login to be able to post a comment.