Eigene Formulare mit WebBlocks Forms erstellen

Gestalten Sie ein Formular um die Fragen, die Besucher tatsächlich beantworten sollen. WebBlocks Forms bietet eigene Felder, Validierung, Schritte und bedingte Fragen; die Ergebnisse sammeln Sie im CMS. Ein nativer Form-Block platziert das Formular auf einer Seite, das Plugin-Postfach enthält die Einsendungen.

Unser Beispiel ist Northstar Studio mit Project enquiry. Schritt eins fragt nach der Person und der Projektart. Website project blendet eine erforderliche Website-Frage ein. Schritt zwei sammelt Beschreibung, optionales Budget und Datei sowie eine Zustimmung. Sie senden als Besucher, lesen die gespeicherten Antworten, laden den privaten Anhang herunter, markieren die Anfrage als beantwortet und exportieren CSV.

Geprüft wurde mit dem veröffentlichten Archiv Forms 0.10.5 und WebBlocks CMS 1.105.26, englischer Oberfläche, hellem Design und fiktiven Northstar-Studio-Daten. Die vom getesteten ZIP-Aufbau benötigte explizite Host-Integration des Service Providers gehört dazu. Lokale Benachrichtigung und Besucherkopie zeigen bewusst Not configured: echte Mailzustellung, externer Webhook und Campaigns-Abonnement wurden nicht getestet. Besucherablauf, Bedingungen, zwei Schritte, privater Download, Status, CSV und Contact-Form-Import wurden lokal ausgeführt. Bilder und dazu passende Feld-/Schaltflächennamen bleiben Englisch.

Forms oder das eingebaute Contact Form wählen

Wahl Geeignet für Eingang
Natives Contact Form Standardfelder Name, E-Mail, Betreff und Nachricht. Contact Messages.
WebBlocks Forms Eigene Felder, Auswahl, Schritte, Bedingungen oder Anhänge. Forms → Submissions.

Forms ersetzt das native Contact Form nicht. Beide können nebeneinander arbeiten, haben aber getrennte Postfächer. Ein Import erstellt ein neues Plugin-Formular; alte Nachrichten und der vorhandene Block werden dadurch nicht verschoben oder umgestellt.

Ein Formular gehört einer Website. Felder, Verarbeitung und Aktionen gehören zum Formular, der Seitenblock speichert dessen Handle. Mehrere Platzierungen verwenden dieselbe Definition. Eine Feldänderung wirkt überall; sie erstellt keine eigene Kopie je Seite.

Paket- und Entwicklerdetails finden Sie in der Forms-Referenz, die einfache native Alternative unter Kontaktformular ergänzen und Nachrichten lesen.

Vor dem Start

Bereiten Sie Testwebsite, Entwurfsseite und Super-admin-Konto vor. Forms 0.10.5 verlangt CMS ^1.92.1 und PHP >=8.3; der Katalog nennt PHP ^8.3 und Laravel ^13.0. Prüfen Sie das Ergebnis gegen Ihren Host einschließlich der CMS-Anforderungen. JSON- und ZIP-PHP-Erweiterungen sind erforderlich.

Fünf Berechtigungen sind getrennt: Formulare ansehen, bearbeiten, Einsendungen verwalten, exportieren und Form Settings ändern. Formularbau gewährt nicht automatisch Postfach- oder Exportzugriff. Geben Sie Operatoren passende Rechte und Website-Zugriff; prüfen Sie die Rolle mit Rollen und Berechtigungen.

Für Provider-Integration, privaten Dateispeicher, Mail und Aufbewahrungsplanung brauchen Sie den Hosting-Administrator. Lokale Mail genügt zum Lernen, echte Zustellung muss vor einer zugesagten Mailantwort getestet werden. Verwenden Sie dabei kontrollierte Postfächer statt der fiktiven Beispieladressen.

Das Plugin ist im WebBlocks-Plugin-Katalog kostenlos. Commerce, Appointments, Memberships und Campaigns sind für diese Anfrage nicht nötig. Ein Budgetfeld wird dadurch weder Zahlung noch Termin.

1. Forms installieren und den Host integrieren

  1. Melden Sie sich als Super admin an und öffnen System → Plugins.
  2. Wählen Sie Browse Plugin Catalog, dann WebBlocks Forms.
  3. Prüfen Sie Version, Kompatibilität und Versionshinweise.
  4. Wählen Sie für die passende Version Install from Catalog, anschließend Enable Plugin in den Details.
  5. Liefert der Administrator ein vertrauenswürdiges ZIP, verwenden Sie Plugin ZIP → Upload Plugin ZIP, prüfen es und aktivieren es.
Veröffentlichtes Forms 0.10.5 auf WebBlocks CMS 1.105.26 aktiviert

Neue Pakete sind zunächst deaktiviert. Aktuelle CMS-Installation und Aktivierung bereiten Datenbankänderungen vor. Bei Plugin migrations pending öffnen Sie die Details, beheben die Einrichtung und prüfen die Tabellen. Für Katalog oder Panel-ZIP ist kein Quellcodebau nötig.

Unter Forms erscheinen Forms, Submissions, Import Contact Form und Settings. Wählen Sie bei Website-Auswahl Northstar Studio oder Ihre Zielwebsite. Gesunde Tabellen beweisen weder öffentliche Übermittlung noch Mail oder eine laufende Aufbewahrungsaufgabe.

Hosting-Schritt für die getestete ZIP-Installation

Bei Forms 0.10.5 / CMS 1.105.26 waren Editor und Block vorhanden, der Service Provider startete jedoch nicht automatisch. Öffentliche Übermittlung scheiterte am nicht registrierten benannten Ratenbegrenzer. Der funktionierende Beispielhost registriert den aktiven Provider ausdrücklich; das ist Einrichtung und keine reine Bildanpassung.

Der Hosting-Administrator ergänzt Folgendes innerhalb der vorhandenen boot()-Methode von App\Providers\AppServiceProvider der Host-Anwendung. Bestehende Boot-Logik bleibt erhalten. Die Registry-Prüfung registriert nur bei aktivem Forms:

$this->app->booted(function (): void {
    $registry = $this->app->make(
        \WebBlocks\Cms\Support\Plugins\PluginRegistry::class
    );

    if ($registry->isActive('webblocks-forms')) {
        $provider = $registry->get('webblocks-forms')?->providerClass();

        if ($provider !== null && class_exists($provider)) {
            $this->app->register($provider);
        }
    }
});

Anschließend veraltete Host-Konfiguration mit php artisan optimize:clear leeren und langlebige Worker gegebenenfalls neu starten. Testen Sie eine echte Besucherübermittlung. Auch Forms-Konfiguration einschließlich Upload- und Zeitregeln wird damit geladen. Startet ein neuerer Host den Provider bereits richtig, prüfen Sie das vor einer unnötigen zweiten Integration. Entfernen Sie den Ratenbegrenzer nicht, um Fehler zu verdecken.

2. Form Settings der Website prüfen

Öffnen Sie Forms → Settings für die richtige Website. Beispiel:

Einstellung Beispiel Bedeutung
Default notification recipient hello@example.test Fiktives Studiopostfach ohne expliziten Formularempfänger.
Store submissions in the CMS Ein Prüfen und Speicherung zusätzlich am Formular aktivieren.
Delete submissions after (days) Leer Kein Website-Zeitfenster in diesem Beispiel.
Maximum upload size (KB) 2048 Website-Limit, zusätzlich durch Installation begrenzt.
Northstar-Studio-Einstellungen mit fiktivem Empfänger und 2048-KB-Uploadlimit

Wählen Sie Save. Ein leerer Empfänger ist gültig: zuerst Send notifications to am Formular, dann dieser Standard, Website-Contact-Empfänger, CONTACT_RECIPIENT_EMAIL und zuletzt die konfigurierte Absenderadresse. Legen Sie das echte Ziel bewusst fest, statt unbeabsichtigt den letzten Rückfall zu nutzen.

Die getestete Version liest Speicherung und Aufbewahrung vom einzelnen Formular. Gleichnamige Website-Standards ändern nicht automatisch bestehende Formulare oder deren Löschregel. Stellen Sie die Werte im eigenen Handling des Formulars ein und prüfen sie. Empfänger-Rückfall und Website-Uploadlimit gelten im Beispiel.

3. Formular erstellen und Verarbeitung wählen

Öffnen Sie Forms → Forms → Add form. Tragen Sie Project enquiry als Name und northstar-project-enquiry als Handle ein. Accepting submissions bleibt aktiv.

Handles bestehen aus kleingeschriebenen Wörtern mit einzelnen Bindestrichen. Seitenblöcke speichern sie, deshalb vor Platzierung festlegen. Name und Handle sind verschieden: ein neuer Handle unterbricht bestehende Platzierungen bis zur Anpassung. Nutzen Sie im Multisite-Betrieb installationsweit verschiedene Handles und testen die Ziele jedes Standorts; der öffentliche Handler löst hier nach Handle auf.

Unter Handling bleibt Store submissions in the CMS an, Store the submitter's IP address aus und Delete submissions after (days) leer. Setzen Sie Submits per minute, per visitor auf 5. Redirect after submit bleibt leer, damit das Ergebnis auf der Seite sichtbar ist.

Formularidentität und Handling mit aktiver Speicherung und ohne IP-Erfassung

Wählen Sie Save. Speicherung ist hier wesentlich: ausgeschaltet entstehen weder Postfachdatensatz noch Folgeaktionen. Das ist kein unterstützter Weg für ein reines Mailformular. IP-Erfassung ist getrennt von vorübergehenden lokalen Schutzsignalen zur Prüfung einer Anfrage.

Ein niedrigeres Limit verengt die Installationsgrenze; ein höheres hebt sie nicht an. Es gilt pro Besucher und Formular. Eine Erfolgsweiterleitung muss ein eigener Website-Pfad mit einem führenden Schrägstrich wie /thank-you sein. Ziel vorbereiten und testen; während dieser Prüfung leer lassen.

4. Benachrichtigung und Besucherkopie einstellen

Suchen Sie Notification. Email me when a submission arrives bleibt an, Send notifications to leer für den Website-Rückfall. Nur ein anderes zuständiges Postfach braucht einen expliziten Empfänger.

Aktivieren Sie unter Reply to sender für das Beispiel Send the visitor a copy of what they submitted. Visitors reply to erhält die echte betreute Studioadresse; das Bild verwendet studio@example.test. Leer bedeutet kein Reply-to-Header. Wählen Sie Save.

Getrennte Betriebsbenachrichtigung und optionale Besucherkopie

Die Besucherkopie benötigt ein Email address-Feld mit gültiger übermittelter Adresse. Ein Textfeld mit der Beschriftung „Email“ ist nicht gleichwertig. Nutzen Sie ein eindeutiges E-Mail-Feld. Beide Ergebnisse werden unabhängig verfolgt und beweisen ohne Test keine tatsächliche Zustellung.

Lassen Sie Webhooks und Mailing list beim Lernen aus. Es sind optionale Aktionen, keine Voraussetzung für Speicherung. Nach dem Postfachtest kommen wir darauf zurück.

5. Acht Beispielfelder hinzufügen

Nach dem Speichern bietet Fields die Aktion Add field. Legen Sie diese Datensätze an. Gleiche Step-Nummern erscheinen zusammen; Up und Down ändern die Reihenfolge innerhalb eines Schritts.

Label Typ Key Step Erforderlich
Your name Single-line text full_name 1 Ja
Email address Email address email 1 Ja
Project type Dropdown project_type 1 Ja
Current website Single-line text current_website 1 Ja, nur bei passender Bedingung
Tell us about your project Paragraph brief 2 Ja
Indicative budget (EUR) Number budget 2 Nein
Attach a short brief File upload brief_file 2 Nein
I agree that Northstar Studio may use these details to respond to my project enquiry. Consent enquiry_consent 2 Ja
Acht Anfragefelder in zwei Schritten

Für Your name wählen Sie Single-line text, setzen Key auf full_name, aktivieren Required und Step 1. In Validation verwenden Sie Minimum 2, Maximum 100. Unter Copy → EN English stehen Label Your name und Help text How should we address you?. Speichern.

Erforderliches Namensfeld mit stabilem Schlüssel, erstem Schritt und Längenprüfung

Schlüssel beginnen mit einem Buchstaben und verwenden Kleinbuchstaben, Ziffern und Unterstriche. Labels sind Besuchersprache, Schlüssel identifizieren Antworten für Speicherung, Bedingungen und Integrationen. Sobald Einsendungen existieren, sind bestehende Schlüssel gesperrt. Wählen Sie sie jetzt dauerhaft statt als später umzubenennende Labels.

Der Editor zeigt Einstellungen mehrerer Typen gemeinsam; nur passende Regeln wirken. Minimum/Maximum bedeutet bei Text und Paragraph Zeichenlänge, bei Number Zahlenwert und bei Datei-Maximum KB. Nutzen Sie 20–2000 Zeichen für die Beschreibung und 500–50000 fürs optionale Budget. Ein Budget ist eine Antwort, kein Preis oder Entgelt.

Weitere Typen sind Phone number, Radio buttons, Checkboxes, Date und Hidden value. Radio erlaubt einen, Checkboxes mehrere Werte. Versteckte Felder sind keine vertrauenswürdige Ablage für Rechte, Zahlungszustände oder Entscheidungen außerhalb der Besucherkontrolle.

6. Optionswerte und sichtbare Labels trennen

Für Project type wählen Sie Dropdown, Schlüssel project_type, erforderlich und Step 1. Unter Options steht je ein stabiler Wert pro Zeile:

branding
website
other
Stabile Dropdown-Werte branding, website und other

Unter Copy → EN English setzen Sie Label Project type, Help text Choose the closest match. und Option labels in derselben Reihenfolge:

Brand identity
Website project
Something else
Englische Feldtexte und parallele Optionslabels mit weiteren Sprachabschnitten

Speichern. Besucher sehen Website project, gesendet wird website. Bedingungen vergleichen den gespeicherten Wert, nicht seine Übersetzung. Ändern Sie die Reihenfolge nicht nur in einem Textfeld; beim Speichern erfolgt die Zuordnung nach Position. Leere Labelzeilen zeigen den gespeicherten Wert.

Jede aktive Sprache bietet Label, Placeholder, Help text, Error message und Option labels. Füllen Sie das Standardlabel und prüfen angebotene weitere Sprachen. Eine übersetzte CMS-Seite übersetzt keine Plugin-Felddatensätze. Error message kann mehrere Prüfungsfehler überschreiben; die Formulierung muss für ungültige Werte und leere Pflichtantworten helfen.

7. Current website bedingt anzeigen

Erstellen Sie Current website als erforderlichen Single-line text mit current_website, Step 1, Maximum 255. Speichern, gegebenenfalls wieder öffnen und When to show this field suchen:

  1. Unter Depends on project_type wählen.
  2. Unter Condition is wählen.
  3. In Value website eintragen.
  4. Englischer Help text: Your existing address, or write Not launched yet.
  5. Save wählen.
Bedingung vergleicht project_type desselben Schritts mit website

Das steuernde Feld muss auf demselben Schritt liegen. Zuerst erstellen und den abhängigen Schritt vor Auswahl prüfen. Weitere Vergleiche sind is not, has any answer und has no answer; die letzten beiden ignorieren Value. Vermeiden Sie Kreise und testen alle Zweige nach Schritt-/Optionsänderungen.

Mit JavaScript blendet Website project die Frage mit Pflichtzustand ein, andere Werte blenden sie aus. Der Server prüft erneut: nicht gestellte Felder werden weder validiert noch gespeichert, selbst bei zusätzlichem gepostetem Wert. Ohne JavaScript bleibt alles sichtbar; der Browser kann auch für ein serverseitig unpassendes Pflichtfeld eine Antwort verlangen. Bieten Sie etwa „Not applicable“ als nutzbaren Rückfall und testen ihn; der Server verwirft diese ungestellte Antwort. Das wurde auch anonym ohne JavaScript geprüft.

Es ist ein Single-line text, keine automatische Websitesuche. Maximum begrenzt die Länge, prüft keine existierende Website. Not launched yet ist bewusst erlaubt.

Erstellen Sie Attach a short brief als File upload, Schlüssel brief_file, Step 2, nicht erforderlich. Maximum 2048, Minimum leer. Erklären Sie Dokumente und Größe im englischen Help text und speichern.

Optionaler Dateiupload mit Maximum 2048 KB

Es gilt das kleinste positive Limit aus Installation, Website-Form-Settings und Feld. Die getestete Installation erlaubt 10240 KB, Website und Feld reduzieren auf 2048 KB. PHP/Webserver können kleinere Grenzen setzen. Scheitert eine große Datei vor einer hilfreichen Formularmeldung, lässt der Administrator diese prüfen.

Erlaubte Erweiterungen kommen aus der Forms-Installationskonfiguration, nicht aus dem Optionsfeld. Der Standard umfasst gängige Dokumente, Bilder und ZIP; der Server prüft den Inhaltstyp. northstar-brief.txt enthält nur fiktiven Text. Anhänge liegen privat beim Plugin, nicht in der öffentlichen Media Library, und werden autorisiert über kurzlebige Links geladen.

Ergänzen Sie das letzte Consent-Feld mit enquiry_consent, Step 2, Required an und dem Beispieltext aus der Tabelle als Label. Consent bewahrt den akzeptierten Wortlaut im Snapshot; gewöhnliche Checkboxes liefern nicht denselben Datensatz. Schreiben Sie passend zum tatsächlichen Zweck und stellen die zugehörigen Informationen vor dem Absenden bereit. Diese Anfragezustimmung ist kein Newsletter-Abo.

9. Nativen Form-Block auf einem Entwurf platzieren

Erstellen Sie auf derselben Website etwa Start a studio project als Entwurf. Überschrift und Erklärung ergänzen Sie mit normalen Seitenblöcken. Unser Text lautet: Tell us what you have in mind. We review enquiries before arranging any work.

Im Main-Slot Add Block → Form, dann Block Fields, unter Form Project enquiry und Save Block wählen. Öffnen Sie Preview der gespeicherten Seite.

Nativer Form-Block mit ausgewähltem Project enquiry

Der Block wählt das aktive Formular nach Handle. Fehlend, inaktiv, ungewählt oder ohne Felder wird nichts ausgegeben. Prüfen Sie bei leerer Auswahl Website und Annahmestatus.

Der Editor dieser Version bietet für neue Formulare kein allgemeines Titel-/Intro-/Button-/Erfolgstext-Panel. Deshalb nutzt das Beispiel Seitenblöcke und die Standards Send und Thank you. Your message has been received. Suchen Sie keine Contact-Form-Textfelder im Plugin-Block. Importierte Texte bewahrt der Importer separat.

Die Sofortvorschau unterstützt Plugin-Formulare nicht; speichern und die gespeicherte Seitenvorschau nutzen. Auch dortiges Senden erzeugt eine echte Einsendung. Arbeiten Sie mit Testwebsite und fiktiven Daten. Platzieren Sie dasselbe Formular nicht doppelt auf einer Seite: IDs und Schrittfortschritt gehören zum Formular statt unabhängig zur Platzierung.

10. Beide Schritte als Besucher abschließen

Öffnen Sie die gespeicherte Vorschau oder geprüfte lokale Anfrageseite. Step 1 of 2 fragt Your name, Email address und Project type. Current website ist zunächst verborgen.

Erster Besucherschritt vor Auswahl der Projektart

Tragen Sie Example visitor, visitor@example.test ein und wählen Website project. Current website erscheint. Verwenden Sie Not launched yet oder eine fiktive Testadresse.

Website project blendet Current website ein

Wählen Sie Continue. Step 2 of 2 erscheint. Noch gibt es keine gespeicherte Einsendung; die vorherigen Antworten bleiben bis zuletzt in der Sitzung. Abbruch ist keine vollständige Anfrage. Cookies und Sitzungskontinuität müssen funktionieren.

Schreiben Sie mindestens 20 Zeichen, etwa We are planning a small website for a neighbourhood craft workshop and would like to discuss the structure. Nutzen Sie Budget 2500, die kleine Testdatei und Zustimmung. Back führt zurück; prüfen Sie nach Zweigwechsel die Antworten erneut.

Zweiter Schritt mit Beschreibung, optionalem Budget/Anhang und erforderlicher Zustimmung

Wählen Sie einmal Send. Der normale Erfolg ersetzt das Formular:

Standard-Dankesmeldung nach Abschluss

Testen Sie mit normalem menschlichem Tempo. Jeder Schritt trägt eine neue Zeitprüfung; unplausibel schnelle automatisierte Posts können denselben Erfolg ohne Datensatz erhalten. Die Meldung beweist weder Speicherung noch Zustellung. Finden Sie die konkrete Anfrage im Postfach.

Testen Sie vor Freigabe auch den anderen Zweig, fehlende Pflichtantwort, Budget außerhalb des Bereichs und unerlaubte/zu große Datei. Prüfen Sie ohne JavaScript dieselben servergesteuerten Schritte und das Verwerfen eines unpassenden Bedingungswerts.

11. Einsendung lesen und Status verwalten

Öffnen Sie Forms → Submissions der Website, wählen Project enquiry unter Form und Apply. Search durchsucht Antworten, Status grenzt ein. Reset entfernt Filter. Die Liste zeigt Empfangszeit, Formular, Status und Benachrichtigungsergebnis.

Gefilterter Project-enquiry-Eingang mit neuem Datensatz

Wählen Sie Open. Ein New-Datensatz wird beim Öffnen Read. Antworten verwenden die damals gespeicherten Labels, daneben stehen Attachments. Optionen können als gespeicherter Wert website statt sichtbarem Label erscheinen. Consent zeigt die erfasste Annahme mit Wortlaut.

Gespeicherte Antworten und privater fiktiver Anhang

Mit Download laden Sie den Anhang. Neben der kurzlebigen Signatur braucht der Link authentifizierten Zugriff und Einsendungsrecht. Bei Ablauf die Detailseite erneut öffnen. Teilen Sie weder private Links auf öffentlichen Seiten noch Bilder ihrer vollständigen URL.

Status Verwendung
New Ungeöffneter Eingang.
Read Gelesen, nicht zwingend beantwortet.
Replied Erst nach tatsächlicher Antwort über Ihren normalen Kanal markieren.
Archived Abgelegt; trainiert keinen Spamfilter.
Quarantined Zur Prüfung aufbewahrt; Aktionen unterdrückt.
Spam Als Missbrauch aufbewahrt; Aktionen unterdrückt.

Wählen Sie nach Antwort Replied und Save. Das ändert einen Status, verfasst keine Antwort und versendet keine Nachricht. Löschen ist endgültig. Laden Sie benötigte Unterlagen vorher und beachten die Aufbewahrung.

12. Jedes Versandergebnis prüfen

Unter Delivery stehen getrennt Notification und Reply to sender. Mailing list: Skipped entspricht der deaktivierten Zusatzaktion. Die Quellseite steht separat.

Einzelne Versandergebnisse, Quellseite und Statuskontrollen
Ergebnis Aussage
Sent Transport hat angenommen; kein Beweis für Posteingang oder Lesen.
Failed Versuch gescheitert; Ziel oder Transport anhand des Details korrigieren.
Skipped Bewusst nicht ausgeführt, etwa deaktiviert.
Not configured Voraussetzung fehlt; lokale Log-Mail ist keine echte Zustellung.
Kein Versuch Nichts versucht; Speicherung, Schutzentscheidung und Aktionen prüfen.

Die Speicherung ist vor den Aktionen abgeschlossen. Falscher Empfänger oder Mailfehler zieht die Anfrage nicht zurück. Betriebs- und Besuchermail können unterschiedlich ausgehen. Konfigurieren und testen Sie vor Start echte CMS-Mail und Absender mit kontrollierten Postfächern. Status-/Einstellungsänderung wiederholt nicht automatisch die ursprüngliche Zustellung; hier gibt es keinen Neuversandknopf.

Local protection · last 30 days fasst Entscheidungen der Website zusammen. Verdächtige Eingänge können gespeichert bleiben, während Mail, Besucherkopie, Webhooks und Campaigns unterdrückt werden. Echten Missbrauch als Spam markieren; Rückkehr eines Fehlalarms zu New, Read oder Replied erfasst Korrekturfeedback. Daraus folgt kein erneutes Ausführen unterdrückter Aktionen.

13. Ausgewähltes Formular als CSV exportieren

Wählen Sie in Submissions Project enquiry, gewünschten Status/Search und Apply, dann Export CSV. Export braucht eine eigene Berechtigung und ein ausgewähltes Formular; All forms definiert keinen gemeinsamen Spaltensatz.

Gefilterter Eingang mit Export CSV und beantworteter Anfrage

Exportiert werden gefilterte Einsendungen, ID, Zeitpunkt, Status und Antworten. Anhangspalten enthalten Dateinamen, keine Dateipakete oder dauerhaften öffentlichen Links. Dateien laden Sie bei Bedarf aus der autorisierten Detailseite.

Kopfzeilen stammen vom Snapshot der ersten exportierten Einsendung, weitere Zeilen werden nach Schlüssel ausgerichtet. Prüfen Sie bei stark geändertem Formular die Spalten: ein im ersten Snapshot fehlendes neueres Feld kommt nicht automatisch hinzu. UTF-8 mit BOM unterstützt Tabellenprogramme.

Eine CSV hat die CMS-Zugriffskontrolle verlassen. Nutzen Sie die sichere Importfunktion des Tabellenprogramms, besonders bei nicht vertrauenswürdigem Antworttext. Prüfen Sie Anzahl, bekannte Antwort und Dateinamen gegen das Postfach.

14. Vorhandenes natives Contact Form importieren

Öffnen Sie Forms → Import Contact Form der Website, finden die richtige Seite und wählen einmal Import. Auch Entwurfsblöcke werden aufgeführt; das Bild zeigt einen solchen.

Importer mit dem fiktiven älteren Contact Form der Website

Kopiert werden vier Fragen, vorhandene Sprachtexte, Titel/Intro/Button/Erfolg, Zustimmung und Benachrichtigung. Lesen Sie Hinweise. Geerbter Empfänger bleibt geerbt, deaktivierte Benachrichtigung deaktiviert. Fehlende Zustimmung kann aus der Standardsprache ergänzt werden und braucht Prüfung. Auch bei ausgeschaltetem altem Speicherflag speichert das importierte Formular.

Der Originalblock arbeitet unverändert weiter, alte Contact Messages bleiben im eigenen Eingang. Prüfen Sie Felder, Texte, Zustimmung und Versand, bevor Sie den Block in einem Entwurf oder einer vorbereiteten Aktualisierung ersetzen. Der Import allein ändert keine Live-Seite. Wiederholung erstellt ein weiteres Formular statt Ihre Kopie zu aktualisieren.

15. Optionale Integrationen bewusst ergänzen

Für externe Systeme unter Webhooks eine Endpoint URL und privaten Signing secret eintragen, aktivieren und speichern. Der Empfänger muss das signierte JSON-Protokoll verstehen. Verwenden Sie ein eigenes öffentliches HTTPS-Ziel; privates Netzwerk und unsicheres HTTP sind standardmäßig blockiert. Geheimnisse gehören nicht in Texte, Bilder oder geteilte Notizen.

Mehrere Webhooks sind möglich. Leeren einer URL entfernt die Aktion und erhält frühere Versanddatensätze. Ein leeres Secret-Feld einer vorhandenen Aktion behält den gespeicherten Wert. Prüfen Sie Aktion und Empfängersystem; eine gespeicherte URL ist kein bestandener Integrationstest. Hier wurde nichts extern gesendet.

Für Newsletter installieren und aktivieren Sie kompatibles WebBlocks Campaigns, bereiten Mail und Liste vor und nutzen Mailing list → Offer a newsletter subscription. Benötigt werden eine nutzbare E-Mail-Antwort und akzeptierter Consent-Text. Prüfen Sie die verwendete Zustimmung: die Anfragebestätigung dieses Beispiels bittet nicht um Marketing. Nutzen Sie ein eigenes Formular mit ausdrücklichem Newsletter-Text statt diese Aktion unverändert anzuschalten.

List id nur für eine bestimmte Liste setzen, sonst den Website-Standard nutzen. Optionale Namenszuordnung verwendet Feldschlüssel. Campaigns verlangt eine Bestätigung per E-Mail; die Aktion umgeht kein Double-opt-in. Ohne aktives Campaigns kann die Anfrage funktionieren und die Aktion Not configured melden. Behaupten Sie ein Abo erst nach geprüftem echten Bestätigungsablauf.

16. Formular und Aufbewahrung pflegen

Zum Pausieren Accepting submissions ausschalten. Platzierungen zeigen dann nichts; bieten Sie vorher eine sinnvolle Alternative. Löschen eines Formulars mit Einsendungen deaktiviert es und bewahrt Historie; ohne Einsendungen ist Löschen möglich.

Labels, Typen und Reihenfolge können für neue Besucher wechseln, alte Einsendungen behalten Snapshots. Feldlöschen stoppt neue Fragen ohne alte Antworten zu entfernen. Bestehende Schlüssel sind nach Einsendungen fest. Prüfen Sie nach Strukturänderung Bedingungen, Exportspalten und alle Seitensprachen.

Setzen Sie Delete submissions after (days) am Formular erst nach einer bewussten Aufbewahrungsentscheidung. Standardmäßig ist kein Zeitraum gesetzt. Der Administrator prüft zunächst ohne Löschen:

php artisan webblocks-forms:prune-submissions --dry-run

Nach Prüfung den echten Befehl über Host-Scheduler oder Cron planen:

php artisan webblocks-forms:prune-submissions

Ein laufender Laravel-Scheduler plant ihn nicht selbst; die Aufgabe ausdrücklich ergänzen. Er verarbeitet passende Datensätze über Formulare hinweg, deshalb alle Zeitfenster vor Live-Ausführung prüfen. Abgelaufene Einsendungen und Anhänge sowie verwaiste temporäre Uploads werden bereinigt. Ein abgebrochener Mehrschrittvorgang kann bereits temporäre Dateien ohne Postfachdatensatz haben.

Fehlerbehebung

Symptom Zuerst prüfen
Forms-Menü fehlt Aktives kompatibles Plugin, Datenbankeinrichtung, Rollen und Website-Zugriff.
Continue/Send scheitert nach ZIP Host-Provider, Forms-Konfiguration und benannter Submit-Ratenbegrenzer.
Formularauswahl leer Richtige Seitenwebsite, aktives Formular und Operatorkontext.
Kein Formular auf der Seite Handle, Accepting submissions, Felder, gespeicherte Seite und aktives Plugin.
Current website fehlt Gleicher Schritt, exakter Wert website, Bedingung und Plugin-JavaScript.
Verstecktes Pflichtfeld blockiert Bedingung, Skript und gespeicherte Seite; auch Server muss den Zweig auflösen.
Continue bleibt im Schritt Validierung, Sitzung/Cookies, Zeit und erwarteter Server-Schritt.
Erfolg ohne Postfachdatensatz Website/Filter, Speicherung, letzter Schritt und Schutz-/Zeitprüfung.
Mail Not configured Echter Transport, Empfänger-Rückfall und Email-address-Antwort für Kopie.
Website-Aufbewahrung wirkt nicht Eigenen Handling-Zeitraum des Formulars setzen und prüfen.
Anhang abgewiesen Inhalt/Erweiterung, Feld-/Website-/Installationsgrenze sowie PHP/Webserver.
Privater Download geht nicht Signaturablauf, Anmeldung/Recht, Website und private Datei.
CSV-Spalten fehlen Formular/Filter und historischer Snapshot der ersten exportierten Einsendung.
Newsletter-Aktion bleibt leer Aktives Campaigns, Site/Liste, E-Mail und ausdrückliche akzeptierte Newsletter-Zustimmung.
Alte Datensätze zeigen alte Labels Erwartet: Snapshot erhält die ursprüngliche Frage.

Abschlussprüfung vor dem Start

Prüfen Sie Installation, Host-Provider und Rollen, Handle, Speicherung, beide Versandziele, Feldtypen, Pflichtwerte, Labels, Bedingungen, Uploads und Zustimmung. Schließen Sie beide Zweige in normalem Tempo ab, finden die Datensätze, laden privat herunter und vergleichen Export und Eingang.

Testen Sie anonym, am Telefon und ohne JavaScript. Prüfen Sie echte Mail separat, optionale Integrationen und den Aufbewahrungs-Probelauf. Veröffentlichen Sie erst danach und wiederholen den direkten Besuchertest auf der öffentlichen HTTPS-Website in jeder angebotenen Sprache.

Weiter mit Forms-Referenz, Contact-Form-Anleitung, Eine Seite veröffentlichen, Navigationsmenüs oder Rollen und Berechtigungen.