WebBlocks Forms

Anforderungen

Dokumentierte Paketversion: 0.7.0. WebBlocks CMS ^1.57.0; PHP >=8.3.

Erstellen Sie Ihre eigenen Formulare mit den von Ihnen benötigten Feldern und sammeln Sie die Einreichungen selbst site.

WebBlocks CMS liefert einen nativen contact_form-Block mit einem festen Feldsatz – Name, E-Mail, Betreff, Nachricht. Es funktioniert gut und dieses Plugin ersetzt es nicht. Was es hinzufügt, ist das Was dieser Block nicht kann: ein Formular, dessen Felder der Websitebesitzer bestimmt.

Installieren

Erstellen Sie das Artefakt und laden Sie es dann über System → Plugins im CMS als Superadministrator hoch:

composer plugin:build

Installierte Plugins sind standardmäßig deaktiviert. Aktivieren Sie es und führen Sie dann die Plugin-Setup-Aktion aus den Plugin-Detailbildschirm zum Erstellen der Tabellen. Bis das Setup ausgeführt wird, heißt es auf den Bildschirmen des Plugins Plugin migrations pending anstatt fehlzuschlagen.

Wird verwendet

  1. Formulare → Formular hinzufügen. Geben Sie ihm einen Namen und ein Handle. Das Handle ist das, wofür ein Block speichert Zeigen Sie auf dieses Formular. Wenn Sie es also später ändern, wird jede Seite abgetrennt, auf der es bereits platziert wurde.
  2. Platzieren Sie es. Fügen Sie den Form-Block zu einer Seite hinzu und wählen Sie das Formular aus. Das ist der Block einzige Einstellung – Felder, Kopie und Lieferung sind alle im Formular vorhanden, sodass dasselbe Formular vorhanden sein kann auf fünf Seiten und ein Kopierwechsel erfolgt einmal.
  3. Submissions. Alles, was Besucher senden, kommt unter Formulare → Einreichungen an, filterbar nach Formular und Status, exportierbar als CSV pro Formular.
  4. Notification. Jedes Formular sendet Ihnen eine E-Mail, wenn eine Übermittlung eintrifft. Verlassen Sie den Empfänger leer und es wird auf die Standardeinstellungen dieser Site unter „Formulareinstellungen“ und dann auf die der Site zurückgesetzt Kontaktempfänger, dann die Umgebung – ein leeres Feld ist eine Arbeitseinstellung, keine Es fehlt eins.

Darüber hinaus pro Feld: Geben Sie den Feldern die gleiche step-Nummer, um sie auf einer Seite abzufragen, oder Nummerieren Sie sie mit 1, 2, 3, um jeweils eine Seite zu fragen. Legen Sie fest, wann dieses Feld angezeigt werden soll. , um nur es anzuzeigen wenn eine andere Antwort im selben Schritt übereinstimmt. Fügen Sie ein Feld file upload für Anhänge hinzu. Und pro Formular: eine Antwort an den Absender, ausgehende Webhooks und ein Newsletter-Abonnement über WebBlocks Campaigns.

Wenn die Benachrichtigung Not configured meldet, hat die Installation keinen echten ausgehenden Mailer: log, array- und null-Mailer werden ehrlich und nicht als gesendet gemeldet. Einsendungen werden gespeichert So oder so – Lagerung und Zustellung sind getrennte Anliegen und ein falsch konfigurierter Mailer niemals kostet Sie die Nachricht.

Bedingte Felder

A kann nur angezeigt werden, wenn eine andere Antwort im selben Schritt übereinstimmt. Der Browser verbirgt und wird angezeigt, wie der Besucher eingibt, aber das ist eine Annehmlichkeit: Der Server entscheidet über. Ein Feld, dessen Bedingung wurde nicht erfüllt, wird weder validiert noch gespeichert.

Bide Hälften sind wichtig. Durch die Validierung wird ein Besucher aufgefordert, ein Feld auszufüllen, das nicht auf der Seite steht Seite. Das Speichern würde eine Antwort aufzeichnen, die niemand gegeben hat – eine gestaltete Anfrage kann einen Wert haben jede Eingabe, und der Posteingang würde so aussehen, als ob er gegeben worden wäre.

Bei deaktiviertem JavaScript wird nichts ausgeblendet: Alle Felder erscheinen, und dieselben serverseitigen Regeln entscheiden weiterhin, welche Antworten zählen. Die eingeschränkte Darstellung zeigt mehr Fragen, führt jedoch nie zu einem nicht absendbaren Formular.

Das Skript wird vom CMS auf /cms/plugins/webblocks-forms/ veröffentlicht, weshalb dies der Grund ist Release benötigt ^1.57.0.

Importieren eines vorhandenen Kontaktformulars

Forms → Kontaktformular importieren listet die nativen Kontaktformularblöcke auf der aktuellen Site auf Seiten. Durch den Import wird hier ein Formular mit den gleichen vier Feldern und den gleichen Bezeichnungen für einen Besucher erstellt sah, und die Überschrift, Einleitung, Erfolgsmeldung und Einverständniserklärung des Blocks in jeder Sprache hatte sie – plus den Benachrichtigungsempfänger.

Der Block bleibt genau so wie er ist und funktioniert weiter, und die Nachrichten sind bereits in Kontakt Nachrichten bleiben dort. Sie können den Block auf der Seite austauschen, wenn Sie dazu bereit sind. Nichts Der Import kann durch Rückgängigmachen rückgängig gemacht werden, aber nichts davon ist destruktiv: das Schlimmste case ist ein Formular, das Sie löschen.

A einige Dinge, die der Import nicht unverändert übernehmen kann, und dies wird auf dem Bildschirm angezeigt, wenn sie ausgeführt werden gelten:

  • A-Block ohne Empfänger importiert mit keinem, sodass das Formular stattdessen weiterhin den Fallback erbt als die heutige Antwort in einer expliziten Einstellung einzufrieren.
  • Notification hat Importe als Aktion deaktiviert, die vorhanden und deaktiviert ist.
  • Einwilligungswortlaut, der in einer Sprache fehlt, wird aus der Standardsprache ergänzt. Nur Kern zeigte sein Einwilligungsfeld dort an, wo Formulierungen vorhanden waren, so dass Besucher in dieser Sprache nicht anwesend waren überhaupt gefragt – überprüfen Sie den Wortlaut, bevor Sie veröffentlichen.
  • store submissions ausgeschaltet wird gemeldet, nicht befolgt. Das CMS speicherte jede Nachricht Unabhängig davon würde es bedeuten, einen Fehler zu importieren, wenn man es respektiert.

Aufbewahrung

Retention ist standardmäßig aktiviert und deaktiviert, da das stille Löschen der Daten einer Site schlimmer ist als es zu behalten. Wenn ein Fenster festgelegt ist, führt der Scheduler des Hosts Folgendes aus:

php artisan webblocks-forms:prune-submissions

Fügen Sie --dry-run hinzu, um zu sehen, was passieren würde, ohne etwas zu löschen.

Zwei Posteingänge

AEine Installation mit diesem Plugin und dem nativen Kontaktformular hat zwei Stellen zum Lesen Nachrichten: /webadmin/contact-messages für den nativen Block und Formulare → Übermittlungen hier. Das sind bewusste Kosten. Die Alternative ist ein Plugin, das in eine Kerntabelle schreibt, was nicht der Fall ist besitzen, was die Plugin-Grenze verbietet – und was sowieso nicht passen würde, da contact_messages verfügt über Spalten für eine feste Vier-Felder-Nachricht und keine Möglichkeit, ein Schema einzufügen Snapshot, eine Datei oder ein Übermittlungsstatus pro Aktion.

Uploads

Übermittlungsanhänge werden nicht in die CMS-Medienbibliothek verschoben. Die Bibliothek speichert alles darauf Die öffentliche Festplatte hat keine Möglichkeit, nach etwas anderem zu fragen, und die Nutzungsprüfung kann keine finden Referenz des Plugins – also eine an eine Übermittlung angehängte Datei, die als unbenutzt gemeldet wird, und einen Editor löscht es ohne Warnung aus dem Medienbildschirm. Beides gilt für Site-Assets und falsch für das Dokument eines Besuchers, daher verwenden Uploads die eigene private Festplatte des Plugins, konfiguriert in config/webblocks-forms.php. Anhänge werden immer über einen kurzlebigen signierten Link heruntergeladen als Anhang und niemals inline – ein inline gerenderter SVG- oder HTML-Upload würde sein Skript ausführen auf dem eigenen Ursprung des Administrators.