| Riepilogo | Aggiunge un modulo di contatto nella parte superiore di qualsiasi argomento contrassegnato con contact. Le informazioni inviate tramite il modulo verranno inviate al gruppo o alla categoria configurati per riceverle. |
|
| Link al Repository | \u003chttps://github.com/jericson/discourse-contact-plugin\u003e | |
| Guida all’Installazione | Come installare plugin in Discourse |
\u003cbr\u003e
Funzionalità
Quando abilitato, il plugin Contact Form posiziona un modulo di contatto nella parte superiore di qualsiasi argomento contrassegnato con contact. I dati inviati tramite il modulo vengono inviati a una categoria o a un gruppo configurato per ricevere posta dall’impostazione contact_form_email.[1] Come i moduli di contatto tradizionali, non è richiesto un account sul sito per inviare.
Ecco cosa potrebbe vedere un visitatore:
Nota che questo è un normale post che può contenere qualsiasi istruzione tu voglia includere nel corpo.[2] Attualmente i nomi dei campi sono codificati e non viene eseguita alcuna validazione reale, ma vedi la sezione TODO qui sotto. Dopo l’invio del messaggio, apparirà nel feed dei messaggi del gruppo configurato:
A seconda di come sono configurate le notifiche via email, i membri del gruppo configurato potrebbero anche ricevere un’email da Discourse:
Configurazione
Per utilizzare questo plugin, devi configurare l’email in arrivo per creare nuovi argomenti o messaggi di gruppo. Non è necessario impostare la risposta via email poiché il plugin non invia effettivamente email. Intercetta l’API per simulare la posta in arrivo. (Detto questo, la risposta via email è una funzionalità utile!)
In particolare, questo plugin richiede:
email_ineenable_staged_users
per essere abilitati.
Una volta abilitato, qualsiasi argomento contrassegnato con contact avrà un modulo di contatto aggiunto all’outlet del plugin topic-above-posts.
Invia a un gruppo
Poiché le persone utilizzeranno questo modulo per inviare le proprie informazioni personali, inviare i risultati a un gruppo chiuso è l’opzione più sicura.
- Crea un nuovo gruppo per le persone che gestiranno i contatti. (Di solito lo chiamo “Contatti” per semplicità, ma potrebbe essere qualsiasi cosa, incluso un gruppo esistente.)
- Aggiungi i membri che riceveranno le informazioni di contatto.
- Non selezionare alcuna opzione di accesso. Questo dovrebbe essere un gruppo chiuso.
- Modifica la visibilità del gruppo come appropriato per la tua organizzazione.
- Imposta l’“Indirizzo email in arrivo personalizzato” uguale all’impostazione
contact_form_email. (Per impostazione predefinita, è “contact@example.com”.)
…
Invia a una categoria
È anche possibile inviare a una categoria utilizzando l’impostazione della categoria “Indirizzo email in arrivo personalizzato”. Assicurati di abilitare anche “Accetta email da utenti anonimi senza account”.
Tuttavia, l’invio a una categoria non è consigliato per le informazioni di contatto! Se per caso le autorizzazioni di accesso alla categoria vengono modificate, ciò potrebbe esporre informazioni personali a persone (o motori di ricerca) che non dovrebbero avervi accesso. È molto meno probabile che accada se i contatti vengono inviati invece a messaggi di gruppo.
Limitare chi può aggiungere moduli di contatto
Potrebbe essere piuttosto strano avere moduli di contatto che spuntano ovunque, quindi potresti voler limitare chi può usare il tag contact. Per farlo, crea un nuovo gruppo di tag:
- Dalla pagina
/tags, seleziona la chiave inglese nell’angolo in alto a destra. - Seleziona “Gestisci Gruppi di Tag” e poi seleziona "
Nuovo Gruppo". - Inserisci un nome appropriato (ad esempio, “Solo Staff”), aggiungi il tag
contacte seleziona “I tag sono visibili a tutti, ma solo i seguenti gruppi possono usarli”. - Scegli il gruppo che vuoi autorizzare ad aggiungere un modulo di contatto (di solito “staff” o “admin”) e salva il gruppo di tag.
CHANGELOG
- 25 aprile 2024: Rilascio Alpha.
TODO
- Vorrei impostare dei test per assicurarmi che nulla si rompa quando apporto modifiche. Voglio in particolare verificare che le persone senza account possano inviare i propri dati.
- Durante i test ho scoperto una grave fuga di dati. Ho rimosso quella particolare vulnerabilità, ma avrei davvero bisogno di aiuto per i test.
- Il modulo non esegue alcuna validazione. L’unico vero requisito è che il campo email assomigli a un’email. Se qualcuno lascia una risposta senza aggiungere un’email, il modulo fallisce silenziosamente.
- Non c’è alcuna protezione contro spam o abusi.
- Il codice è molto simile alla qualità di
my-first-pluginbasato su esempi che utilizzavano convenzioni obsolete. Qualsiasi suggerimento sullo stile è benvenuto. - Mi piace avere il modulo di contatto associato a un argomento contrassegnato come “contact”, ma è complicato e probabilmente non necessario. Sto pensando di aggiungere un nuovo percorso che sia solo il modulo di contatto per semplicità.
- I dati di contatto sono memorizzati nel database, ma potrebbe essere utile avere un pannello di amministrazione per vedere un elenco di contatti.
- Il modulo è fisso alle mie attuali esigenze, ma sarebbe utile avere una certa flessibilità su quali campi richiedere.
Questa impostazione è predefinita su “contact@example.com” ma può essere configurata per accettare email reali. ↩︎
È anche possibile rispondere al modulo di contatto, nel bene o nel male. ↩︎





