WebBlocks Forms
Requisiti
Versione pacchetto documentato: 0.7.0. WebBlocks CMS ^1.57.0; PHP >=8.3.
Crea i tuoi moduli con i campi che ti servono e raccogli gli invii per conto tuo sito.
WebBlocks CMS fornisce un blocco contact_form nativo con un set di campi fisso: nome, email,
oggetto, messaggio. Funziona bene e questo plugin non lo sostituisce. Ciò che aggiunge è il
cosa che il blocco non può fare: un modulo i cui campi decide il proprietario del sito.
Installa
Crea l'artefatto, quindi caricalo tramite System → Plugins nel CMS come super amministratore:
composer plugin:build
I plugin installati sono disabilitati per impostazione predefinita. Abilitalo, quindi esegui l'azione di configurazione del plug-in da
la schermata dei dettagli del plugin per creare le tabelle. Fino all'esecuzione dell'installazione, dicono le schermate del plug-in
Plugin migrations pending anziché fallire.
Utilizzo
- Forms → Aggiungi form. Dagli un nome e un handle. L'handle è ciò in cui memorizza un blocco punta a questo modulo, quindi modificandolo successivamente si staccano tutte le pagine che lo avevano già inserito.
- Posizionalo. Aggiungi il blocco
Forma una pagina e scegli il modulo. Questo è il blocco unica impostazione: campi, copia e consegna sono tutti presenti nel modulo, quindi può essere inserito lo stesso modulo su cinque pagine e il cambio copia avviene una volta. - Submissions. Tutto ciò che i visitatori inviano arriva in Moduli → Invii, filtrabili per modulo e stato, esportabile come CSV per form.
- Notification. Ogni modulo ti invia un'e-mail quando arriva un invio. Lascia il destinatario vuoto e torna al valore predefinito di questo sito in Impostazioni modulo, quindi a quello del sito Contatta il destinatario, quindi l'ambiente: una scatola vuota è un ambiente di lavoro, non a ne manca uno.
Oltre a ciò, per campo: assegna ai campi lo stesso numero step per richiederli su una pagina, oppure numerali 1, 2, 3 per chiedere una pagina alla volta. Imposta quando mostrare questo campo per rivelarlo solo quando un'altra risposta nello stesso passaggio corrisponde. Aggiungi un campo caricamento file per gli allegati. E per modulo: una risposta al mittente, webhook in uscita e un'iscrizione alla newsletter tramite WebBlocks Campaigns.
Se la notifica riporta Not configured, l'installazione non ha un vero e proprio mailer in uscita: log,
I messaggi array e null vengono segnalati onestamente anziché come inviati. Gli invii vengono archiviati
in ogni caso: l'archiviazione e la consegna sono preoccupazioni separate e un mailer configurato in modo errato mai
ti costa il messaggio.
Campi condizionali
A può essere visualizzato solo quando corrisponde un'altra risposta nello stesso passaggio. Il browser nasconde e viene visualizzato come digita il visitatore, ma questa è una comodità: il server decide. Un campo il cui la condizione non è stata soddisfatta non è né convalidata né memorizzata.
Entrambe le metà contano. Convalidarne uno direbbe al visitatore di compilare una casella che non si trova sul file pagina. Memorizzarne uno registrerebbe una risposta che nessuno ha dato: una richiesta predisposta può avere un valore qualsiasi input e la posta in arrivo verrà letta come se fosse stata fornita.
Con JavaScript disattivato non viene nascosto nulla: tutti i campi sono mostrati e le stesse regole del server continuano a determinare quali risposte contano. L’esperienza ridotta mostra più domande, ma non impedisce mai l’invio del modulo.
Lo script viene pubblicato in /cms/plugins/webblocks-forms/ dal CMS, motivo per cui questo
lo sblocco necessita di ^1.57.0.
Importazione di un modulo di contatto esistente
Forms → Importa modulo di contatto elenca i blocchi del modulo di contatto nativo sul sito corrente pagine. L'importazione crea qui un modulo con gli stessi quattro campi, le stesse etichette per un visitatore visto, e l'intestazione del blocco, l'introduzione, il messaggio di successo e la formulazione del consenso in ogni lingua li aveva, oltre al destinatario della notifica.
Il blocco viene lasciato esattamente com'è e continua a funzionare, e i messaggi già presenti in Contatti I messaggi restano lì. Lo scambio del blocco sulla pagina spetta a te quando sei pronto. Niente riguardo all'importazione è reversibile tramite annullamento, ma non c'è nemmeno nulla di distruttivo: il peggio case è un modulo che elimini.
A alcune cose che l'importazione non può riportare inalterate, e lo dice sullo schermo quando vengono applicare:
- Un blocco senza destinatario viene importato senza nessuno, quindi il modulo continua a ereditare il fallback piuttosto che congelare la risposta di oggi in un contesto esplicito.
- La notifica ha disattivato le importazioni come azione presente e disabilitata.
- La formulazione del consenso mancante in una lingua viene compilata utilizzando la lingua predefinita. Solo nucleo mostrava la casella di consenso dove esisteva la dicitura, quindi i visitatori in quella lingua non venivano visualizzati chiesto affatto: controlla il testo prima di pubblicare.
store submissionsspento viene segnalato, non rispettato. Il CMS memorizzava ogni messaggio a prescindere, quindi onorarlo significherebbe importare un bug.
Conservazione
La conservazione è in base al modulo e disattivata per impostazione predefinita, poiché l'eliminazione silenziosa dei dati di un sito è peggiore piuttosto che mantenerlo. Quando viene impostata una finestra, lo scheduler dell'host esegue:
php artisan webblocks-forms:prune-submissions
Aggiungi --dry-run per vedere cosa andrebbe senza cancellare nulla.
Due caselle di posta in arrivo
Un'installazione utilizzando sia questo plugin che il modulo di contatto nativo ha due posizioni in cui leggere
messaggi: /webadmin/contact-messages per il blocco nativo e Moduli → Invii qui.
Questo è un costo intenzionale. L'alternativa è un plugin che scrive in una tabella principale che non lo fa
proprio, cosa che i limiti del plugin vietano - e che comunque non si adatterebbero, da allora
contact_messages ha colonne per un messaggio fisso a quattro campi e nessun posto dove inserire uno schema
snapshot, un file o uno stato di consegna per azione.
Caricamenti
Gli allegati di invio non vengono inviati al catalogo multimediale CMS. La biblioteca memorizza tutto
il disco pubblico senza alcun modo per chiedere nient'altro e il suo controllo di utilizzo non può vedere a
riferimento del plugin: quindi un file allegato a un invio viene segnalato come inutilizzato e un editor
lo elimina dalla schermata Multimedia senza preavviso. Entrambi sono corretti per le risorse del sito e
sbagliato per il documento di un visitatore, quindi i caricamenti utilizzano il disco privato del plugin, configurato in
config/webblocks-forms.php. Gli allegati vengono scaricati tramite un collegamento firmato di breve durata, sempre
come allegato e mai in linea: un caricamento SVG o HTML reso in linea eseguirebbe il suo script
sull'origine dell'amministratore.