| Riepilogo | Aggiunge un modulo di contatto nella parte superiore di qualsiasi argomento contrassegnato con contact. Le informazioni inviate tramite il modulo verranno trasmesse al gruppo o alla categoria configurati per riceverle. |
|
| Link al repository | https://github.com/jericson/discourse-contact-plugin | |
| Guida allâinstallazione | Come installare i plugin in Discourse |
FunzionalitĂ
Quando è abilitato, il plugin Modulo di contatto inserisce un modulo nella parte superiore di qualsiasi argomento contrassegnato con contact. I dati inviati tramite il modulo vengono trasmessi a una categoria o a un gruppo configurato per ricevere posta da contact_form_email.[1] Come nei moduli di contatto tradizionali, non è necessario disporre di un account sul sito per inviare il modulo.
Ecco cosa potrebbe vedere un visitatore:
Nota che si tratta di un post regolare che può contenere qualsiasi istruzione tu voglia includere nel corpo.[2] Attualmente i nomi dei campi sono codificati e non viene effettuata alcuna convalida reale, ma consulta la sezione TODO qui sotto. Dopo lâinvio del messaggio, questo apparirĂ nel feed dei messaggi del gruppo configurato:
A seconda di come sono configurate le notifiche email, i membri del gruppo configurato potrebbero anche ricevere unâemail da Discourse:
Configurazione
Per utilizzare questo plugin, devi configurare la posta in arrivo per creare nuovi argomenti o messaggi di gruppo. Non è necessario configurare 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 che siano abilitati:
email_ineenable_staged_users
Una volta abilitati, qualsiasi argomento contrassegnato con contact avrĂ un modulo di contatto aggiunto al punto di uscita del plugin topic-above-posts.
Invio a un gruppo
PoichĂŠ le persone utilizzeranno questo modulo per inviare le proprie informazioni personali, lâopzione piĂš sicura è inviare i risultati a un gruppo chiuso.
- Crea un nuovo gruppo per le persone che si occuperanno dei contatti. (Di solito lo chiamo âContattiâ per semplicitĂ , ma può essere qualsiasi cosa, incluso un gruppo esistente.)
- Aggiungi i membri che riceveranno le informazioni di contatto.
- Non selezionare nessuna delle opzioni di accesso. Questo dovrebbe essere un gruppo chiuso.
- Modifica la visibilitĂ del gruppo in modo ragionevole per la tua organizzazione.
- Imposta lââIndirizzo email in arrivo personalizzatoâ uguale allâimpostazione
contact_form_email. (Per impostazione predefinita, è âcontact@example.comâ).
âŚ
Invio 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 è raccomandato per le informazioni di contatto! Se per qualche motivo le autorizzazioni di accesso alla categoria vengono modificate, ciò potrebbe esporre informazioni personali a persone (o motori di ricerca) che non dovrebbero averne accesso. Ă molto meno probabile che ciò accada se i contatti vengono inviati 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ò utilizzare il tag contact. Per farlo, crea un nuovo gruppo di tag:
- Dalla pagina
/tags, seleziona la chiave inglese in alto a destra. - Seleziona âGestisci gruppi di tagâ e poi seleziona "
Nuovo gruppo". - Inserisci un nome appropriato (ad esempio, âSolo personaleâ), aggiungi il tag
contacte seleziona âI tag sono visibili a tutti, ma solo i seguenti gruppi possono utilizzarliâ. - Scegli il gruppo a cui vuoi permettere di aggiungere un modulo di contatto (di solito âstaffâ o âamministratoriâ) e salva il gruppo di tag.
CHANGELOG
- 25 aprile 2024: Rilascio Alpha.
TODO
- Vorrei configurare dei test per assicurarmi che nulla si rompa quando apporto modifiche. In particolare, voglio verificare che le persone senza account possano inviare i loro dati.
- Durante i test ho scoperto una grave perdita di dati. Ho rimosso quella specifica vulnerabilitĂ , ma avrei davvero bisogno di aiuto per i test.
- Il modulo non effettua alcuna convalida. Lâunica vera richiesta è che il campo email sembri un indirizzo email. Se qualcuno lascia una risposta senza aggiungere unâemail, il modulo fallisce silenziosamente.
- Non câè protezione contro spam o abusi.
- Il codice è di qualitĂ molto simile a âmy-first-pluginâ, basato su esempi che utilizzavano convenzioni obsolete. Sono benvenute qualsiasi suggerimento sullo stile.
- Mi piace avere il modulo di contatto associato a un argomento contrassegnato con âcontattiâ, ma è complicato e probabilmente inutile. Sto considerando di aggiungere una nuova rotta 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 visualizzare un elenco di contatti.
- Il modulo è fissato ai miei requisiti attuali, ma sarebbe utile avere una certa flessibilità riguardo ai campi che richiede.
Quella impostazione ha come valore predefinito âcontact@example.comâ, ma può essere configurata per accettare indirizzi email reali. âŠď¸
Ă persino possibile rispondere al modulo di contatto, per il meglio o per il peggio. âŠď¸





