Mit dem Webform Modul kannst du individuelle Formulare für deine Website erstellen und verwalten.
Ob mehrseitiges Formular mit bedingter Logik oder einfaches Kontaktformular, Webform bietet zahlreiche Möglichkeiten.
Leistungsmerkmale:
Erstellung von individuellen Webformularen
Einbindung der Formulare in Websites
Einsendungen sammeln und überprüfen
Bestätigungen und Benachrichtigungen senden und verwalten
Testing
Wichtig
Diese Dokumentation setzt voraus, dass du eine Drupal Website hast und die Grundfunktionalitäten des Pagedesignerskennst. Das Webform Modul wurde bereits installiert und freigegeben.
1. Neues Formular erstellen
Die Webform-Verwaltung befindet sich im Drupal Backend unter "Struktur → Webformulare"
1.1 Neues Formular erstellen
Anleitung
1. Navigiere in die Webform-Verwaltung → /admin/structure/webform
2. Klicke auf "Webformular hinzufügen"
3. Erfasse einen Titel (Pflichtfeld). Bei Bedarf kannst du eine Beschreibung und Kategorie hinterlegen sowie den Status auswählen: Status "Geöffnet": dieses Formular ist aktiv. Status "Geschlossen": dieses Formular ist inaktiv und für Seitenbesucher nicht sichtbar.
4. Klicke auf "Speichern"
Du befindest dich nun in einer neuen Maske "Erstellen", wo du das Formular aufbauen kannst.
5. Klicke auf "Element auswählen" um ein Feld hinzuzufügen.
2. Elemente und Felder
In der Maske "Erstellen" kannst du Elemente hinzufügen, löschen, verschieben, verschachteln usw.: Direkte URL: /admin/structure/webform/manage/[Formularname]
Übersicht Maske "Erstellen"
1.Elemente: Standardansicht der Elemente. 2.Quelle: Bei Bedarf können die Elemente im YAML-Format angezeigt und bearbeitet werden. 3.Element hinzufügen: Öffnet ein Pop-up mit einer Auswahlübersicht sämtlicher Elemente, welche du verwenden darfst. 4.Seite hinzufügen: Für mehrseitige Formulare - siehe Kapitel Mehrseitige Formulare 5.Layout hinzufügen: Für ein neues Flexbox-Layout - sieheKapitel Flexbox 6.Zeilenreihenfolge anzeigen: Fügt bei Bedarf eine neue Spalte mit Gewichtungsoption in der Element-Übersicht ein. Je grösser die Zahl, desto weiter unten erscheint ein Element und umgekehrt. 7.Der Titel: Nach einem Klick darauf landest du in der jeweiligen Elementbearbeitung. Mittels Fadenkreuz (links davon) kannst du das Element via Drag & Drop verschieben. 8.Schlüssel: Eindeutiger Maschinenname des Elements. Dieser generiert sich automatisch aus dem Titel, kann bei Bedarf jedoch manuell erfasst werden (nur Kleinbuchstaben, Zahlen und Underlines). 9.Typ: Typ des Elements (Textfelder, Radiobuttons, Container usw.) 10.Erforderlich: Einfache Methode um aus einem Element ein Pflichtelement zu machen. 11.Bearbeiten: Führt zur Elementbearbeitung. Bei einem Klick auf den Pfeil öffnet sich ein Dropdown mit zwei weiteren Optionen: "Duplizieren" (um ein Feld zu kopieren) und "Löschen". 12.Anpassen: Führt zu den Formularbutton-Optionen (Absenden und Aktualisieren). Wird meistens verwendet um den Standard-Buttontext "Absenden" anzupassen. 13. Speichert die Elemente 14.Zurücksetzen: Setzt nicht gespeichert Anpassungen (Drag & Drop Reihenfolge, Gewichtung oder Pflichtfeld-Häkchen) zurück.
Eine Vorschau deines Formulars erhältst du mit eine Klick auf den Reiter "Ansicht":
2.1 Formular Elemente (Übersicht)
Bei der Erstellung eines Formulars stehen dir diverse Elemente zur Verfügung, von einfachen Textfeldern bis zu komplexen Optionsmöglichkeiten. Hier findest du eine Auswahl der wichtigsten Elemente und dazugehörigen Eigenschaften.
Übersicht Elemente
Name
Beschreibung
Ansicht
Textfeld
Einzeiliges Textfeld
Textbereich
Mehrzeiliges Textfeld
|
E-Mail
Textfeld, welches bei der Eingabe ein @-Zeichen erwartet
Zahl
Eingabefeld in dem ausschliesslich Zahlen eingegeben werden können
Einfache Checkbox
Einfache Checkbox zum aus- und abwählen. Anwendungsbeispiel: Datenschutzrichtlinien bestätigen (als Pflichtfeld)
Checkboxen
Erlaubt mehrere Antwortalternativen.
Checkboxen (Andere)
Erlaubt mehrere Antwortalternativen. Wählt der Besucher die Option "Andere", so erscheint darunter ein Textfeld für einen individuellen Wert
Auswählen
Klassisches Dropdown
Auswählen (Andere)
Klassisches Dropdown. Wählt der Besucher die Option "Andere", so erscheint darunter ein Textfeld für einen individuellen Wert
Radios
Radiobuttons für eine einzigeAntwortalternative. Anwendungsbeispiel: Ja-/Nein-Fragen
Radios (Andere)
Radiobuttons für eine einzigeAntwortalternative. Wählt der Besucher die Option "Andere", so erscheint darunter ein Textfeld für einen individuellen Wert
Dokumentdatei
Erlaubt dem Besucher einen Dateiupload
Bilddatei
Erlaubt dem Besucher einen Bildupload
Einfaches HTML
Kann verwendet werden um das Formular mit Inhalten zu ergänzen Anwendung: Intros, Titel, Erklärtexte usw.
Datum
Datumsauswahl
3. Elemente konfigurieren (Einstellungen)
Mit einem Klick auf den Titel eines Elements oder via "Bearbeiten" Button gelangst du in den Bearbeitungsmodus. Hier kannst du Labels, Platzhalter, Hilfetexte, Werte, Validierungen und vieles mehr konfigurieren.
Obwohl bei den meisten Elementen dieselben Einstellungen möglich sind, gibt es Unterschiede zwischen:
Eingabefeldern (Textfeld, Textbereich, E-Mail, Zahl usw.)
Options- und Auswahlelementen (Radiobuttons, Checkboxen, Dropdown usw.)
3.1 Einstellungen - Standard
In diesem Kapitel konfigurieren wir die Einstellungen eines Textfeldes (Standard-Element):
Einstellungen - Texteld
1. Elementeinstellungen:
Option
Beschreibung
Ansicht/Vorschau
Titel
Titel des Elements - Label des Feldes
Titel E-Mail:
Schlüssel
Eindeutiger Maschinenname des Elements. Dieser generiert sich automatisch aus dem Titel, kann bei Bedarf jedoch manuell erfasst werden (nur Kleinbuchstaben, Zahlen und Underlines).
Erlaubte Anzahl von Werten
Erlaubt es dem Seitenbesucher, mehr als ein Textfeld auszufüllen.
2. Element Beschreibung / Hilfe / Zusätze:
Option
Beschreibung
Ansicht/Vorschau
Beschreibung
Eine kurze Beschreibung des Elements, die als Hilfe für den Besucher dient. Standardmässig unterhalb vom Feld - kann in der Formularanzeige angepasst werden.
Hilfetitel und Hilfetext
Zeigt ein Hilfe-Tooltip nach dem Titel des Elements an. Position kann in der Formularanzeige angepasst werden.
Zusätzlicher Titel und Mehr Text
Zusätzlicher Titel in Form einer klickbaren Beschriftung zum Öffnen und Schliessen von mehr Text.
3. Formularanzeige:
Option
Beschreibung
Ansicht/Vorschau
Titelanzeige, Beschreibungsanzeige, Hilfeanzeige
Platzierung des Titel-Labels, der Beschreibung und der Hilfeanzeige
Beispiel: Titel "Danach" und Beschreibung "Davor":
Feldprä- und Suffix
Text, der direkt vor (Präfix) oder nach (Suffix) der Eingabe platziert wird. Anwendungsbeispiel: Währung, Protokoll bei URL-Eingaben
Beispiel: Bei einem Zahlenfeld wird CHF als Präfix eingesetzt:
Mindest- und Maximallänge
Mindest- und Maximalzahl der erlaubten Zeichen im Feld Standardwerte: Mindestens 0 Zeichen und maximal 255 Zeichen
Grösse (nicht verwenden)*
Breite eines Eingabefeldes in Form der Anzahl der Zeichen. * Hat keine Auswirkungen, da unser Pagedesigner-Layout diesen Wert überschreibt. Feldbreiten können via Flexbox verändert werden. SieheKapitel Flexbox
Platzhalter
Der Platzhalter wird im Element angezeigt, bis der Benutzer beginnt, einen Wert einzugeben.
Autovervollständigung
Standardmässig aktiviert: Zeigt dem Benutzer im Browser gespeicherte Informationen wie Name, E-Mail, Adresse usw. als Vorschlag an.
Autofill: Einem Feld kann eine spezifische Kategorie zugewiesen werden. Der Browser zeigt anschliessend nur Vorschläge an, die dieser Kategorie entsprechend (z.B Namen, E-Mail, Nummern)
Beispiel: Autovervollständigung an, nur für Namen:
Beispiel: Autovervollständigung an, nur für E-Mail:
Ausblenden der Eingabe
Nach der Eingabe wird der Inhalt in Form von Punkten angezeigt. Anwendungsbeispiel: Passwörter
Deaktiviert, nur Lesezugriff
Gesperrt, der Besucher kann dieses Feld nicht ausfüllen. Für Administratoren: Diese Optionen dienen vor allem dazu, generierte Werte mitzusenden oder anzuzeigen, welche nicht beeinflusst werden können.
Vorausfüllen
Für Administratoren: Sorgt dafür, dass das Element mit Hilfe von Query-String-Parametern ausgefüllt wird.
4. Formularvalidierung:
Option
Beschreibung
Ansicht/Vorschau
Erforderlich
Diese Option aktivieren, wenn der Benutzer einen Wert eingeben muss (Pflichtfeld). Zusätzlich kann eine Nachricht hinterlegt werden, welche den Besucher darauf hinweist. Diese Nachricht überschreibt die automatischen Validierungsnachrichten vom Browser.
Beispiel: Pflichtfeld mit benutzerdefinierter Meldung:
Eindeutig
Beschreibung folgt
Mustern/Pattern
Beschreibung folgt
3.2 Einstellungen - Options- und Auswahlelemente
In diesem Kapitel konfigurieren wir die Einstellungen von einem Dropdown (Auswahlelement):
Einstellungen - Dropdown
Option
Beschreibung
Ansicht/Vorschau
Optionen
Art der Optionen. Standardmässig auf "Benutzerdefiniert" gesetzt wodurch du die einzelnen Optionen selber erfassen kannst. Bei Bedarf können auch vordefinierte Optionen wie z.B Geschlecht, Monate usw. verwendet werden. Wichtig: vordefinierte Optionen können nur von Administratoren erfasst werden.
Wert und Text
Wert Option: Ein eindeutiger Wert, der in der Datenbank gespeichert wird → im Formular nicht sichtbar Text Option: Text, der auf dem Formular angezeigt werden soll
Beispiel mit 3 erfassten Werten:
Beschriftung für leere Option
Die Beschriftung, die für die ursprüngliche Option angezeigt werden soll, wenn noch keine Auswahl getroffen wurde. Erforderliche Elemente haben den Standardwert: - Auswählen - Optionale Elemente haben den Standardwert: - Nicht festgelegt/ausgewählt -
Beispiel mit Text "Alle Werte":
Wert für leere Option
Wert der leeren Option, der in der Datenbank gespeichert wird.
Sort options
Stellt die Optionen in alphabetischer Reihenfolge dar.
Stellt die Optionen in zufälliger Reihenfolge dar.
Select2
Stellt die Optionen in einem anderen Design inklusive Suchfeld dar.
Stellt die Optionen in einem anderen Design inklusive Suchfeld dar.
3.3 Bedingungen
Bedingte Logik ändert das Verhalten eines Formulars basierend auf bestimmten Aktionen. Es ermöglicht uns, das Formularerlebnis basierend auf den Eingaben des Besuchers dynamisch anzupassen. Die Logik basiert auf wenn/dann Bedingungen.
Anwendungsfall:
Bei einem Bestellformular gib es eine Liefer- und Rechnungsadresse. Wählt der Besucher die Option "Rechnungsadresse nicht identisch mit Lieferadresse" wird mittels bedingter Logik ein neues Feld eingeblendet für die Rechnungsadresse.
Anleitung und Details
Anleitung - Feld nach Klick auf Checkbox einblenden
1. Erstelle eine Checkbox (Typ: einfache Checkbox) mit dem Label: "Textfeld anzeigen?"
2. Erstelle ein Textfeld mit dem Label: "Textfeld"
3. Öffne die Optionen des Textfeldes und wähle den Reiter "Bedingungen":
Die Bedingung wird immer dem Element zugeordnet, dessen Zustand sich verändert.
4. Definiere die Bedingung und notiere sie bei Bedarf: "Werde sichtbar, wenn die Checkbox "Textfeld anzeigen" aktiviert ist"
5. Hinterlege diese Bedingungslogik (eine Erklärung der einzelnen Objekte findest du weiter unten in "Bedingungslogik Details"):
Status: Sichtbar (Slide)
Verknüpfung (wenn): alle
Element: Checkbox "Textfeld anzeigen?"
Auslöser/Wert: Überprüft
6. Teste das Formular, nach eine Klick auf die Checkbox sollte das Textfeld sichtbar werden:
Vorher:
Nachher:
Bedingungslogik Details
Objekt
Beschreibung
Status
Status der das Element erhält, wenn die Logik zutrifft. Beispiele: Wird sichtbar, wird unsichtbar, wird aktiviert, wird deaktiviert
Verknüpfung (wenn)
alle = UND (wenn alle Bedingungen erfüllt sind) Alle = ODER (wenn eine oder mehrere Bedingungen erfüllt sind) Eins = XODER (entweder oder, trifft nur zu wenn eine von zwei Bedingungen erfüllt ist)
Element
Eine Auswahl deiner erstellten Elemente
Auslöser Wert
Der Auslöser: Bei Auswahlelementen: Überprüft Bei Eingaben: Wert ist (dieser Wert muss eingegeben werden, damit die Logik ausgelöst wird)
4 Formular Layout
4.1 Container
Container bilden einen Teil des Layouts und gliedern das Formular. Dies sorgt dafür, dass Seitenbesucher (gerade bei grossen Formularen) die Übersicht behalten. Um einen Container zu verwenden, muss er als Element hinzugefügt werden. Anschliessend können Felder innerhalb des Containers platziert werden:
Dir stehen diverse Containertypen zur Verfügung:
Übersicht Container
Name
Beschreibung
Ansicht/Vorschau
Abschnitt
Erstellt eine Überschrift über den Feldern, die sich im Abschnitt befinden. Du hast die Möglichkeit, die Überschrift zu definieren (h1-h6 oder normaler Titel).
Feldgruppe
Erstellt eine Überschrift über den Feldern, die sich im Abschnitt befinden.
Interaktives Container, der ein Benutzer öffnen und schliessen kann. Kann standardmässig geöffnet oder geschlossen dargestellt werden.
Details (geöffnet)
Container
Dieser Container ist nicht sichtbar und wird für technische Zwecke verwendet.
4.2 Flexbox
Standardmässig besitzen alle Formularelemente eine Breite von 100%. Sie nehmen also den vollen Platz der Zeile ein, in der sie sich befinden. Flexbox erlaubt es uns, das Formularlayout zu verändern in dem wir Beispielsweise zwei Elemente nebeneinander platzieren.
Anleitung und Details
Funktionsprinzip der Flexbox:
Eine Flexbox ist wie ein Container in dem Elemente platziert werden können. Dieser Container besitzt eine Breite von 12 Spalten: Den Elementen innerhalb der Flexbox kann ich nun eine Breite in Form von Spalten zuweisen
Beispiele: Wenn ich zwei Elemente habe, die je 50% Breite einnehmen sollen, so weise ich jedem Element 6 Spalten zu (6+6 = 12). Wenn ich drei Elemente als Drittel anzeigen möchte, weise ich jedem Element 4 Spalten zu (4+4+4 = 12). Wenn ich ein Element mit einer 25% Breite und ein Element mit 75% Breite nebeneinander platzieren möchte, weise ich einmal 3 Spalten und einmal 9 Spalten zu (3+9 = 12)
Anleitung - Beispiel 2 Felder nebeneinander (50% Breite)
1. Navigiere in die Maske "Erstellen"
2. Erstelle bei Bedarf zwei Textfelder
3. Klicke auf "Layout hinzufügen" um ein Flexbox-Layout einzufügen. Alternativ kannst du auch via "Element hinzufügen" nach "Flexbox-Layout" suchen.
4. In den Einstellungen kannst du bei Bedarf den Feldschlüssel anpassen. Bei den Ausrichtungsoptionen wähle "Oben (flex-start)" und speichere das Element.
5. Ziehe die beiden Textfelder IN die Flexbox (verschachteln):
6. Bearbeite das erste Textfeld, scrolle zu den Flexbox-Optionen* und wähle den Wert 6. Wiederhole diesen Schritt beim zweiten Textfeld.
*Die Flexbox-Optionen erscheinen nur, wenn sich ein Element innerhalb einer Flexbox befindet.
7. Kontrolliere das Formular - die beiden Felder sollten nun nebeneinander platziert sein und jeweils eine Breite von 50% besitzen:
4.3 Mehrseitiges Formular
Informationen in mehrstufige/mehrseitigen Formularen werden vom Seitenbesucher übersichtlicher und weniger überwältigend wahrgenommen. Die Formulare eignen sich besonders für Bewerbungs- und Registrierungsformulare:
Der Besucher füllt die Formularfelder aus und navigiert mittels Vor- und Zurückbutton zwischen den einzelnen Seiten/Stufen.
Anleitung und Details
Anleitung
1. Navigiere in die Maske "Erstellen"
2. Klicke auf "Seite hinzufügen"
3. Gib der Seite einen Titel und benenne bei Bedarf die Navigationsbutton (vor und zurück). Die Option "Formularanzeige geöffnet" ist für mehrstufige Formulare nicht relevant.
4. Speichere die Seiteneinstellungen und ziehe die gewünschten Felder IN die Seite (verschachteln):
5. Wiederhole die Schritte für weitere Seiten und prüfe das Formular.
5. Bestätigung
Eine Formularbestätigung teilt dem Seitenbesucher mit, dass sein Formular korrekt ausgefüllt und abgesendet wurde.
Anleitung und Details
Anleitung
1. Bestätigungen werden in den Formulareinstellungen verwaltet:
Direkte URL: /admin/structure/webform/manage/[Formularname]/settings/confirmation
2. Wähle eine Bestätigungsart:
Name
Beschreibung
Ansicht/Vorschau
Page
Leitet auf neue (leere) Seite weiter und zeigt eine Bestätigungsnachricht* an. Unterhalb der Nachricht erscheint ein Link, welcher zurück zum Formular führt
Inline
Lädt die aktuelle Seite erneut und ersetzt das Webformular durch die Bestätigungsnachricht*.
Message
Lädt die aktuelle Seite bzw. das Formular erneut und zeigt die Bestätigungsnachricht* am unteren Seitenrand an.
Modal
Lädt die aktuelle Seite bzw. das Formular erneut und zeigt die Bestätigungsnachricht* in einem modalen Dialog an
URL & URL mit Nachricht
Leitet zu einem benutzerdefinierten Pfad um und zeigt ggf. eine Bestätigungsnachricht* am unteren Seitenrand an. Erfordert eine erstellte Bestätigungsseite, welche anschliessend als Node hinterlegt wird:
*Bestätigungsnachrichten können individuell erstellt/gestaltet werden.
3. Verfasse bei Bedarf eine individuelle Bestätigungsnachricht:
6. Benachrichtigung (E-Mail-Handler)
Mittels "E-Mail-Handler" kann definiert werden, an wen die Formularwerte nach Eingabe gesendet werden (interne Administration, HR-Abteilung oder Kopie an Seitenbesuche usw.).
Anleitung und Details
Anleitung
1. Benachrichtigungen werden in den Formulareinstellungen im Reiter "E-Mails / Behandlungsroutinen" verwaltet:
Direkte URL: /admin/structure/webform/manage/[Formularname]/handlers
2. Klicke auf "E-Mail hinzufügen" um einen neuen Handler zu erstellen.
3. Konfiguriere den Handler:
In den Handler-Konfigurationen können diverse Informationen hinterlegt werden. Beispielsweise Absender und Empfänger vom Bestätigungsmail, sowie dessen Inhalt:
Name
Beschreibung
Auswahlmöglichkeiten
Ansicht/Vorschau
Titel, Verwaltungshinweise
Titel und Beschreibung für den Mailhandler im Backend
Absender des Formulars (meistens der Websiteinhaber)
analog "Senden an"
Antworten an*: Antwort-E-Mail-Adresse
Die E-Mail-Adresse, die der Empfänger sieht, wenn er auf eine E-Mail antwortet. Leer lassen, um automatisch die Absenderadresse zu verwenden.
analog "Senden an"
Betreff
Der Nachrichtenbetreff
analog "Senden an"
Nachricht/Textkörper
Der Inhalt der Bestätigungsmail
Standard: beinhaltet die folgenden Informationen: -Gesendet am -Gesendet von -Gesendete Eingaben (alle Formularfelder)
Twig-Vorlage: für Entwickler und Administratoren
Benutzerdefiniert: Für eine Benutzerdefinierte Nachricht. Wichtig, wenn du Eingaben auflisten möchtest, benötigst du Twig- und Token-Kenntnisse. → Hier findest du eine Vorlage
Standard-Bestätigungsnachricht:
Enthaltene E-Mail Felder/Werte
Die Ausgewählten Elemente (standardmässig alle) werden in der Standard-Bestätigungsnachricht aufgelistet.
Du kannst Felder an- und abwählen.
Eingabefelder die nicht ausgefüllt wurden, werden nicht in der Bestätigungsnachricht aufgelistet.
Optionsfelder die nicht ausgefüllt wurden, werden nicht in der Bestätigungsnachricht aufgelistet.
Always include elements with private and restricted access
Wenn du diese Option aktivierst, werden auch versteckte Formularfelder (falls vorhanden) in der Bestätigungsnachricht aufgelistet.
Vorlage alle Felder (HTML)
Vorlage spezifische Felder (HTML)
7. Ergebnisse
8. Testing
Mit einem Klick auf den Reiter Test gelangst du auf eine separate Seite, in der dein Formular bereits ausgefüllt ist.