Ciao, Community di Discourse Meta!
Siamo entusiasti di presentare una nuova funzionalità sperimentale, i modelli di modulo. Con essi, puoi imporre un modulo strutturato con convalida dei dati come parte del flusso di creazione dell’argomento.

Abilitazione della funzionalità
La funzionalità è nascosta dietro un flag sperimentale a livello di sito. Per abilitarla, basta attivare l’impostazione del sito experimental_form_templates in
Amministratore ▸ Impostazioni.
Gestione dei modelli
I modelli di modulo possono essere creati, modificati ed eliminati in
Amministratore ▸ Personalizza ▸ Modelli (/admin/customize/form-templates/).
Lì, vedrai una tabella con un elenco dei modelli esistenti sul forum. Puoi modificare, eliminare e visualizzare in anteprima qualsiasi modello esistente o crearne di nuovi. La tabella mostra anche le categorie in cui ciascun modello è attualmente attivo.
I modelli sono definiti in una struttura YAML. Puoi digitarli manualmente o utilizzare i pulsanti “Aggiungi” in alto, che aggiungeranno un pezzo di codice YAML di esempio alla fine, definendo un certo tipo di input.
Ecco un esempio YAML completo, con tutti i tipi di campo:
- type: input
id: name
attributes:
label: "Nome completo"
placeholder: "es. Mario Rossi"
description: "Qual è il tuo nome completo?"
validations:
required: true
minimum: 2
maximum: 100
- type: textarea
id: introduction
attributes:
label: "Introduzione"
placeholder: "Una breve introduzione"
description: "Scrivi una breve introduzione su di te"
validations:
required: true
minimum: 10
maximum: 500
- type: dropdown
id: fav-animal
attributes:
label: "Animale preferito"
description: "Seleziona il tuo animale preferito"
none_label: "Seleziona un'opzione"
choices:
- "Cane"
- "Gatto"
- "Altro"
validations:
required: true
- type: multi-select
id: comm-channel
attributes:
label: "Canali di comunicazione:"
description: "Seleziona i tuoi canali di comunicazione preferiti:"
none_label: "Seleziona un'opzione"
choices:
- "Email"
- "Telefono"
- "Messaggistica"
- type: upload
id: cat-photo
attributes:
label: "Foto del gatto"
description: "Invia una foto del tuo gatto (o di qualsiasi gatto)"
file_types: ".jpg, .png"
allow_multiple: false
- type: checkbox
id: accept-terms
attributes:
label: "Ho letto e accetto i termini"
description: "Devi accettare i termini per continuare"
validations:
required: true
Validazioni
Per ogni campo, puoi aggiungere opzioni di convalida che devono essere superate prima di poter creare il modulo. Per un elenco delle convalide disponibili, fai clic sul pulsante Validazioni sopra l’editor di codice. Questo ti mostrerà la sintassi per ogni opzione di convalida e descriverà il suo utilizzo previsto.
Opzioni di convalida
| Chiave | Tipo | Descrizione |
|---|---|---|
| required | booleano | Richiede che il campo sia completato per inviare il modulo |
| minimum | intero | Per i campi di testo, specifica il numero minimo di caratteri consentiti |
| maximum | intero | Per i campi di testo, specifica il numero massimo di caratteri consentiti |
| pattern | stringa regex | Per i campi di testo, un’espressione regolare che specifica l’input consentito |
| type | stringa | Per i campi di input, puoi specificare il tipo di input che dovrebbe essere previsto (text|email|date|number|url|tel|color) |
Applicazione di un modello a una categoria
Una volta creato un modello di modulo, vorrai applicarlo a una categoria. Per farlo, vai alle impostazioni della categoria a cui desideri applicare il modello.
Seleziona il menu Modello, quindi a destra, usa l’interruttore per attivare i modelli di modulo. Una volta abilitato, puoi usare il menu a discesa per aggiungere uno o più modelli a una categoria.
Compilazione del modulo
Una volta applicato un modello a una categoria, il modulo del modello apparirà automaticamente quando crei un argomento e selezioni la categoria che ha il modello. Se alla categoria sono assegnati più modelli, vedrai anche un selettore per passare da un modello all’altro tra quelli disponibili.
Durante la compilazione del modulo, rispetterà tutte le convalide specificate nella definizione del modello di modulo e solo dopo che sarà valido potrai premere
Crea argomento e questo genererà il contenuto dell’argomento da tutti i campi di input.
Infine, dopo l’invio, il contenuto dell’argomento è composto da tutti i campi compilati:
Precompilazione dei valori del modulo
Puoi anche precompilare i valori del modulo chiamando /new-topic con parametri corrispondenti agli ID dei campi definiti nel modello del modulo. Ad esempio, per il modello precedentemente utilizzato come esempio:
/new-topic?name=Mario%20Rossi&favorite-animal=Cat
Roadmap
- Memorizzare l’output JSON nei dati dell’argomento quando viene creato un argomento
- Opzione per poter ancora selezionare e utilizzare il compositore a testo libero nelle categorie con modelli di modulo
Come puoi aiutarci
Ci piacerebbe sentire il tuo feedback su questa nuova funzionalità. Se sei un amministratore e desideri provarla sul tuo forum, puoi attivare l’impostazione experimental_form_templates e iniziare subito a usarli!
Per favore, crea nuovi argomenti contrassegnati con form-templates per condividere le tue esperienze, segnalare eventuali bug o fornire suggerimenti.
Grazie per averci aiutato a rendere Discourse migliore!









