Webform: Formulare erstellen und auswerten
Mit dem Modul Webform können Sie sehr komfortabel auch komplexe Formulare gestalten und die Ergebnisse auswerten. Das Modul liegt momentan in einer Beta-Version vor. Es funktioniert tadellos, bedarf aber noch der Feinarbeit im Quellcode.
13.1.1 Entpacken und installieren des Moduls
Laden Sie sich die Datei webform-6.x-2.0-beta6.tar.gz von der Projektwebsite2 oder der Buch-CD und entpacken Sie sie in den Ordner /sites/all/modules. Aktivieren Sie das Modul und setzen Sie die Benutzerberechtigungen. In den Benutzerberechtigungen geht es in erster Linie um die Auswertung der Formulareingaben. Das Formular an sich ist erreichbar, wenn die Gäste oder Benutzer das Recht haben, Inhalte zu sehen.
13.1.2 Konfiguration des Moduls
Im Bereich Verwalten – Einstellungen gibt es einen neuen Eintrag mit dem Namen Webform. Hier können Sie die Standardeinstellungen für alle Formulare festlegen (Abbildung 13.1):

Abbildung 13.1: Einstellungen – Webform
Diese drei Bereiche möchte ich Ihnen im Folgenden kurz vorstellen:
Verfügbare Komponenten (Available components)
Ein Formular besteht aus verschiedenen Komponenten wie Textfeldern und Checkboxen. Hier können Sie aus einer beeindruckenden Anzahl von verfügbaren Komponenten auswählen, welche davon Sie benutzen wollen (Abbildung 13.2):

Abbildung 13.2: Verfügbare Formularkomponenten
Standard E-Mail-Adresse
Jedes Formular benötigt einen Absender und einen Betreff. Der Absender besteht aus E-Mail-Adresse und Name, der Betreff standardmäßig aus einem Text und dem späteren Titel, der Überschrift, des Formulars, der hier als Variable [title] eingebunden wird (Abbildung 13.3):

Abbildung 13.3: Absenderangaben für Formulare
Erweiterte Einstellungen
Hier können Sie zwei Einstellungen vornehmen, die unter Umständen sehr wichtig werden können (Abbildung 13.4):

Abbildung 13.4: Webform – Erweiterte Einstellungen
Formulare werden oft von Spammern missbraucht, da sie im Normalfall auch Gästen zugänglich sind. Das Modul Webform nutzt intern verschiedene Methoden, um sicherer zu sein, dass es sich um einen Menschen handelt, der das Formular ausfüllt.
Zusätzlich können Sie durch Ankreuzen der Checkbox das Setzen eines Cookies im Browser des Formularbenutzers einschalten und dadurch evtl. Missbrauch besser verhindern. Wenn sich ein Cookie setzen lässt, hat es das Formular mit größerer Wahrscheinlichkeit mit einem Browser zu tun. Eine weitere Methode ist der Schutz durch einen Spamfilter und/oder ein Captcha (siehe Abschnitt 13.5 Kampf gegen Spam).
Eine weitere nützliche Einstellung ist der logging der abgeschickten Formulare über Drupals Berichtssystem (Webforms Debug). Wenn Sie in der Liste Log Submissions auswählen, wird jedes abgeschickte Formular im Berichtssystem erfasst. Das verhindert zwar keinen Spam, erzeugt aber bei jedem Abschicken eines Formulars eine Systemmeldung.
13.1.3 Erstellen Sie ein neues Formular
Wir wollen ein Formular für einen Autohändler erstellen, in dem ein Kunde einen Wunschtermin für eine Probefahrt mit einem Neuwagen vereinbaren kann. Das Formular soll die Felder Autotyp, Terminvorschlag, Name, E-Mail und Telefonnummer enthalten.
Wenn Sie auf den Link Inhalt erstellen klicken, sehen Sie einen neuen Inhaltstyp mit dem Namen Webform (Abbildung 13.5):

Abbildung 13.5: Webform erstellen
Die für das Formular relevanten Einstellungen befinden sich hinter den drei Links, die mit dem Wort Webform beginnen.
Webform Einstellungen
Titel: Der Titel des Formulars („Probefahrt vereinbaren“)
Beschreibung: Hier können Sie einen einleitenden Text angeben, der über den Formular- Feldern angezeigt wird.
Bestätigungsnachricht oder Weiterleitungs-URL: Hier können Sie entweder einen Text angeben, der angezeigt wird, nachdem das Formular abgeschickt worden ist, oder eine URL, zu der nach Abschicken des Formulars verzweigt werden soll.
Webform mail settings
An E-Mail-Adresse senden: Hier müssen Sie die E-Mail-Adresse angeben, an die die Formulardaten per E-Mail geschickt werden sollen.
In den Feldern E-Mail von Name, E-Mail von Adresse und Betreffzeile der E-Mail können Sie die Standardvorgaben, die Sie in den Einstellungen festgelegt haben, für dieses Formular überschreiben.
Im aufklappbaren Feld Conditional e-mail recipients können Sie, wenn in Ihrem Formular ein E-Mail-Feld vorkommt, an diese E-Mail-Adresse ebenfalls eine Bestätigung schicken.
Webform advanced settings
Show complete form in teaser: Wenn Sie diese Checkbox ankreuzen, wird sichergestellt, dass immer das ganze Formular angezeigt wird, auch in einer Liste mit Teaser-Ansicht (Abbildung 13.6).
Begrenzung: Sie können die maximalen Ausfüllvorgänge in einer bestimmten Zeit beeinflussen. Das ist vorteilhaft gegen Spammer, die Ihre Formulare benutzen, um Werbung abzusetzen. Eine Einstellung von maximal fünf Ausfüllvorgängen pro Stunde wird für das Probefahrt-Formular sicher reichen (Abbildung 13.6).
Submit button text: Hier können Sie eine individuelle Beschriftung für den Absende-Button eingeben (Abbildung 13.6).

Abbildung 13.6: Webform – erweiterte Einstellungen
In den Feldern Additional Validation und Additional Processing können Profis noch PHP-Code eingeben, der bei der Überprüfung des Formulars besondere Aufgaben ausführt, beispielsweise die Weitergabe der Variablen an eine andere Anwendung.
Nach einem Klick auf den Button speichern wird das Formular mit dem Status nicht veröffentlicht angelegt. Die Anzeige wechselt automatisch in das Formular zur Erstellung der Formularfelder.

Abbildung 13.7: Webform – Ansicht nach dem ersten Speichervorgang
13.1.4 Erstellen Sie Formularfelder
Jetzt können Sie die Formularkomponenten auswählen und durch einen Klick auf den Button hinzufügen dem Formular zuordnen.
Feld Autotyp:
Schön wäre eine Liste mit den für Probefahrten zur Verfügung stehenden Autotypen. Wählen Sie die Formularkomponente Select aus und klicken auf hinzufügen. Bei der Select-Komponente können Sie die gewünschten Auswahlen manuell festlegen.
Wählen Sie folgende Werte:
Bezeichnung: Autotyp
Feldschlüssel: autotyp
Standardwert: Dieses Feld können Sie leer lassen.
Optionen: Geben Sie hier pro Zeile einen Autotyp ein. Falls Sie den WYSIWYG-Editor aktiviert haben, klicken Sie vorher auf den Link switch to plain Editor (Abbildung 13.8).

Abbildung 13.8: Auswahlen für Autotyp
Beschreibung: Die Beschreibung wird später unter dem Eingabefeld stehen und ist sehr hilfreich für den Benutzer.
Obligatorisch: Kreuzen Sie dieses Feld an, damit der Benutzer im Autotyp-Feld einen Wert angeben muss.
Feld Termin:
Der Kunde soll vorschlagen, an welchem Tag er eine Probefahrt unternehmen möchte. Wählen Sie in diesem Fall die Komponente Date. Füllen Sie die folgenden Felder aus:
Bezeichnung: Termin
Feldschlüssel: termin
Standardwert: today+1 (entspricht dem Wert „morgen“)
Zeitzone: Website Timezone (Die Zeitzone ist bei einem Kunden, der eine Probefahrt unternehmen will, vermutlich die gleiche wie die des Händlers.)
Obligatorisch: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.
Feld Uhrzeit ab:
Der Kunde soll vorschlagen, um wie viel Uhr er die Probefahrt unternehmen möchte. Wählen Sie in diesem Fall die Komponente Time. Füllen Sie die folgenden Felder aus:
Bezeichnung: Uhrzeit ab
Feldschlüssel: uhrzeit_ab
Standardwert: 9:00 am – Ab Neun Uhr morgens (am) ist eine Probefahrt möglich.
Zeitzone: Website Timezone (Die Zeitzone ist bei einem Kunden, der eine Probefahrt unternehmen will, vermutlich die gleiche wie die des Händlers.)
Zeitformat: 24-hour
Obligatorisch: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.
Feld Name und Telefonnummer:
Der Kunde soll seinen Namen und seine Telefonnummer eingeben. Das sind einfache Textfelder (Komponente textfield).
Feld E-Mail-Adresse:
Der Kunde soll seine E-Mail-Adresse angeben (Komponente email). An diese E-Mail, soll auch eine Kopie der Formularwerte geschickt werden.
Bezeichnung: E-Mail
Feldschlüssel: email
Standardwert: Kreuzen Sie die Checkbox Benutzer E-Mail ist Standardwert an. Falls der Kunde ein Benutzerkonto auf der Website hat und angemeldet ist, wird hier seine E-Mail-Adresse aus dem Benutzerkonto eingeblendet.
E-mail a submission copy: Kreuzen Sie die Checkbox an und schicken Sie dem Kunden eine Kopie der Formulareingaben per E-Mail.
Obligatorisch: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.
Komponente Feld
Ein Feld ist ein zusammenklappbarer Bereich, der Formularfelder enthält. Legen Sie zwei Bereiche an, nennen Sie die Felder Probefahrt und persönliche Daten, kreuzen Sie die Checkbox Zusammenklappbar an und ordnen Sie nach dem Speichern in der Übersicht die anderen Felder zu (Abbildung 13.9).

Abbildung 13.9: Formularfelder
Das Formular ist jetzt fertig. Falls Sie einen Menüeintrag erstellen wollen, können Sie das im Bearbeitungsmodus im Bereich Menüeinstellungen erledigen. In den Kommentareinstellungen können Sie die Kommentare deaktivieren.
Außerdem müssen Sie das Formular im Bereich Veröffentlichen „freischalten“ (Abbildung 13.10).

Abbildung 13.10: Veröffentlichen des Formulars
13.1.5 Füllen Sie Ihr Formular aus
Wenn Sie Ihr Formular im Anzeigemodus ansehen, sieht es schon sehr eindrucksvoll aus. Die Bereiche Probefahrt und persönliche Daten klappen bei einem Klick auf den Link auf und zu. Der Button hat die richtige Beschriftung (Abbildung 13.11).

Abbildung 13.11: fertiges Formular
Füllen Sie das Formular aus und schicken es ab. Je nach Ihrer Konfiguration erhalten Sie eine E-Mail (wenn Sie live im Internet arbeiten) wie in Abbildung 13.12. Den Text der E-Mail kann man über die Verwaltungsoberfläche leider nicht ändern.

Abbildung 13.12: Bestätigungs-E-Mail
13.1.6 Werten Sie die Eingabe aus
Wenn Sie im Formular auf den Reiter Ergebnisse klicken, haben Sie verschiedene Ansichten auf die Daten der ausgefüllten Formulare (Abbildung 13.13).

Abbildung 13.13: Tabellenauswertung des Formulars
Durch einen Klick auf Herunterladen können Sie die Formulardaten im CSV-Format herunterladen und dann weiterbearbeiten (Abbildung 13.14).

Abbildung 13.14: Formulardaten in OpenOffice Calc
Mit dem Modul Webform können Sie sehr komfortabel auch komplexe Formulare gestalten und die Ergebnisse auswerten. Das Modul liegt momentan in einer Beta-Version vor. Es funktioniert tadellos, bedarf aber noch der Feinarbeit im Quellcode.13.1.1 Entpacken und installieren des ModulsLaden Sie sich die Datei webform-6.x-2.0-beta6.tar.gz von der Projektwebsite2 oder der Buch-CD und entpacken Sie sie in den Ordner /sites/all/modules. Aktivieren Sie das Modul und setzen Sie die Benutzerberechtigungen. In den Benutzerberechtigungen geht es in erster Linie um die Auswertung der Formulareingaben. Das Formular an sich ist erreichbar, wenn die Gäste oder Benutzer das Recht haben, Inhalte zu sehen.13.1.2 Konfiguration des ModulsIm Bereich Verwalten – Einstellungen gibt es einen neuen Eintrag mit dem Namen Webform. Hier können Sie die Standardeinstellungen für alle Formulare festlegen (Abbildung 13.1):Abbildung 13.1: Einstellungen – WebformDiese drei Bereiche möchte ich Ihnen im Folgenden kurz vorstellen:Verfügbare Komponenten (Available components)Ein Formular besteht aus verschiedenen Komponenten wie Textfeldern und Checkboxen. Hier können Sie aus einer beeindruckenden Anzahl von verfügbaren Komponenten auswählen, welche davon Sie benutzen wollen (Abbildung 13.2):Abbildung 13.2: Verfügbare FormularkomponentenStandard E-Mail-AdresseJedes Formular benötigt einen Absender und einen Betreff. Der Absender besteht aus E-Mail-Adresse und Name, der Betreff standardmäßig aus einem Text und dem späteren Titel, der Überschrift, des Formulars, der hier als Variable [title] eingebunden wird (Abbildung 13.3):Abbildung 13.3: Absenderangaben für Formulare Erweiterte EinstellungenHier können Sie zwei Einstellungen vornehmen, die unter Umständen sehr wichtig werden können (Abbildung 13.4):Abbildung 13.4: Webform – Erweiterte EinstellungenFormulare werden oft von Spammern missbraucht, da sie im Normalfall auch Gästen zugänglich sind. Das Modul Webform nutzt intern verschiedene Methoden, um sicherer zu sein, dass es sich um einen Menschen handelt, der das Formular ausfüllt.Zusätzlich können Sie durch Ankreuzen der Checkbox das Setzen eines Cookies im Browser des Formularbenutzers einschalten und dadurch evtl. Missbrauch besser verhindern. Wenn sich ein Cookie setzen lässt, hat es das Formular mit größerer Wahrscheinlichkeit mit einem Browser zu tun. Eine weitere Methode ist der Schutz durch einen Spamfilter und/oder ein Captcha (siehe Abschnitt 13.5 Kampf gegen Spam).Eine weitere nützliche Einstellung ist der logging der abgeschickten Formulare über Drupals Berichtssystem (Webforms Debug). Wenn Sie in der Liste Log Submissions auswählen, wird jedes abgeschickte Formular im Berichtssystem erfasst. Das verhindert zwar keinen Spam, erzeugt aber bei jedem Abschicken eines Formulars eine Systemmeldung.13.1.3 Erstellen Sie ein neues FormularWir wollen ein Formular für einen Autohändler erstellen, in dem ein Kunde einen Wunschtermin für eine Probefahrt mit einem Neuwagen vereinbaren kann. Das Formular soll die Felder Autotyp, Terminvorschlag, Name, E-Mail und Telefonnummer enthalten.Wenn Sie auf den Link Inhalt erstellen klicken, sehen Sie einen neuen Inhaltstyp mit dem Namen Webform (Abbildung 13.5):Abbildung 13.5: Webform erstellenDie für das Formular relevanten Einstellungen befinden sich hinter den drei Links, die mit dem Wort Webform beginnen.Webform EinstellungenTitel: Der Titel des Formulars („Probefahrt vereinbaren“)Beschreibung: Hier können Sie einen einleitenden Text angeben, der über den Formular- Feldern angezeigt wird.Bestätigungsnachricht oder Weiterleitungs-URL: Hier können Sie entweder einen Text angeben, der angezeigt wird, nachdem das Formular abgeschickt worden ist, oder eine URL, zu der nach Abschicken des Formulars verzweigt werden soll.Webform mail settingsAn E-Mail-Adresse senden: Hier müssen Sie die E-Mail-Adresse angeben, an die die Formulardaten per E-Mail geschickt werden sollen.In den Feldern E-Mail von Name, E-Mail von Adresse und Betreffzeile der E-Mail können Sie die Standardvorgaben, die Sie in den Einstellungen festgelegt haben, für dieses Formular überschreiben.Im aufklappbaren Feld Conditional e-mail recipients können Sie, wenn in Ihrem Formular ein E-Mail-Feld vorkommt, an diese E-Mail-Adresse ebenfalls eine Bestätigung schicken.Webform advanced settingsShow complete form in teaser: Wenn Sie diese Checkbox ankreuzen, wird sichergestellt, dass immer das ganze Formular angezeigt wird, auch in einer Liste mit Teaser-Ansicht (Abbildung 13.6).Begrenzung: Sie können die maximalen Ausfüllvorgänge in einer bestimmten Zeit beeinflussen. Das ist vorteilhaft gegen Spammer, die Ihre Formulare benutzen, um Werbung abzusetzen. Eine Einstellung von maximal fünf Ausfüllvorgängen pro Stunde wird für das Probefahrt-Formular sicher reichen (Abbildung 13.6).Submit button text: Hier können Sie eine individuelle Beschriftung für den Absende-Button eingeben (Abbildung 13.6).Abbildung 13.6: Webform – erweiterte EinstellungenIn den Feldern Additional Validation und Additional Processing können Profis noch PHP-Code eingeben, der bei der Überprüfung des Formulars besondere Aufgaben ausführt, beispielsweise die Weitergabe der Variablen an eine andere Anwendung.Nach einem Klick auf den Button speichern wird das Formular mit dem Status nicht veröffentlicht angelegt. Die Anzeige wechselt automatisch in das Formular zur Erstellung der Formularfelder.Abbildung 13.7: Webform – Ansicht nach dem ersten Speichervorgang 13.1.4 Erstellen Sie FormularfelderJetzt können Sie die Formularkomponenten auswählen und durch einen Klick auf den Button hinzufügen dem Formular zuordnen.Feld Autotyp:Schön wäre eine Liste mit den für Probefahrten zur Verfügung stehenden Autotypen. Wählen Sie die Formularkomponente Select aus und klicken auf hinzufügen. Bei der Select-Komponente können Sie die gewünschten Auswahlen manuell festlegen.Wählen Sie folgende Werte:Bezeichnung: AutotypFeldschlüssel: autotypStandardwert: Dieses Feld können Sie leer lassen.Optionen: Geben Sie hier pro Zeile einen Autotyp ein. Falls Sie den WYSIWYG-Editor aktiviert haben, klicken Sie vorher auf den Link switch to plain Editor (Abbildung 13.8).Abbildung 13.8: Auswahlen für AutotypBeschreibung: Die Beschreibung wird später unter dem Eingabefeld stehen und ist sehr hilfreich für den Benutzer.Obligatorisch: Kreuzen Sie dieses Feld an, damit der Benutzer im Autotyp-Feld einen Wert angeben muss.Feld Termin:Der Kunde soll vorschlagen, an welchem Tag er eine Probefahrt unternehmen möchte. Wählen Sie in diesem Fall die Komponente Date. Füllen Sie die folgenden Felder aus:Bezeichnung: TerminFeldschlüssel: terminStandardwert: today+1 (entspricht dem Wert „morgen“)Zeitzone: Website Timezone (Die Zeitzone ist bei einem Kunden, der eine Probefahrt unternehmen will, vermutlich die gleiche wie die des Händlers.)Obligatorisch: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.Feld Uhrzeit ab:Der Kunde soll vorschlagen, um wie viel Uhr er die Probefahrt unternehmen möchte. Wählen Sie in diesem Fall die Komponente Time. Füllen Sie die folgenden Felder aus:Bezeichnung: Uhrzeit abFeldschlüssel: uhrzeit_abStandardwert: 9:00 am – Ab Neun Uhr morgens (am) ist eine Probefahrt möglich.Zeitzone: Website Timezone (Die Zeitzone ist bei einem Kunden, der eine Probefahrt unternehmen will, vermutlich die gleiche wie die des Händlers.)Zeitformat: 24-hourObligatorisch: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.Feld Name und Telefonnummer:Der Kunde soll seinen Namen und seine Telefonnummer eingeben. Das sind einfache Textfelder (Komponente textfield).Feld E-Mail-Adresse:Der Kunde soll seine E-Mail-Adresse angeben (Komponente email). An diese E-Mail, soll auch eine Kopie der Formularwerte geschickt werden.Bezeichnung: E-MailFeldschlüssel: emailStandardwert: Kreuzen Sie die Checkbox Benutzer E-Mail ist Standardwert an. Falls der Kunde ein Benutzerkonto auf der Website hat und angemeldet ist, wird hier seine E-Mail-Adresse aus dem Benutzerkonto eingeblendet.E-mail a submission copy: Kreuzen Sie die Checkbox an und schicken Sie dem Kunden eine Kopie der Formulareingaben per E-Mail.Obligatorisch: Kreuzen Sie die Checkbox an, damit der Benutzer einen Wert eingeben muss.Komponente FeldEin Feld ist ein zusammenklappbarer Bereich, der Formularfelder enthält. Legen Sie zwei Bereiche an, nennen Sie die Felder Probefahrt und persönliche Daten, kreuzen Sie die Checkbox Zusammenklappbar an und ordnen Sie nach dem Speichern in der Übersicht die anderen Felder zu (Abbildung 13.9).Abbildung 13.9: FormularfelderDas Formular ist jetzt fertig. Falls Sie einen Menüeintrag erstellen wollen, können Sie das im Bearbeitungsmodus im Bereich Menüeinstellungen erledigen. In den Kommentareinstellungen können Sie die Kommentare deaktivieren.Außerdem müssen Sie das Formular im Bereich Veröffentlichen „freischalten“ (Abbildung 13.10).Abbildung 13.10: Veröffentlichen des Formulars13.1.5 Füllen Sie Ihr Formular ausWenn Sie Ihr Formular im Anzeigemodus ansehen, sieht es schon sehr eindrucksvoll aus. Die Bereiche Probefahrt und persönliche Daten klappen bei einem Klick auf den Link auf und zu. Der Button hat die richtige Beschriftung (Abbildung 13.11).Abbildung 13.11: fertiges FormularFüllen Sie das Formular aus und schicken es ab. Je nach Ihrer Konfiguration erhalten Sie eine E-Mail (wenn Sie live im Internet arbeiten) wie in Abbildung 13.12. Den Text der E-Mail kann man über die Verwaltungsoberfläche leider nicht ändern.Abbildung 13.12: Bestätigungs-E-Mail13.1.6 Werten Sie die Eingabe ausWenn Sie im Formular auf den Reiter Ergebnisse klicken, haben Sie verschiedene Ansichten auf die Daten der ausgefüllten Formulare (Abbildung 13.13).Abbildung 13.13: Tabellenauswertung des FormularsDurch einen Klick auf Herunterladen können Sie die Formulardaten im CSV-Format herunterladen und dann weiterbearbeiten (Abbildung 13.14).Abbildung 13.14: Formulardaten in OpenOffice Calc2 http://drupal.org/project/webform




0 Kommentare
Kommentar hinzufügen