Geeignete(s) Modul(e) für komplexe Formulare
am 20.08.2013 - 10:17 Uhr in
Es sollen auf einer Webseite komplexe Formulare gebaut werden, die Daten an eine Schnittstelle übergeben.
Es werden also zwei Funktionalitäten nicht benötigt, die das Webform mit sich bringt:
- Emailversand und Speicherung der Formular-Inhalte in der Datenbank ist nicht nötig.
Stattdessen ist es notwendig, je nach Rückgabewert der Schnittstelle das Formular mit eingeschränkter Felderzahl anzuzeigen.
Also gewisse Felder sollen nur angezeigt werden, wenn gewisse Bedingungen wahr sind.
Es soll Autocomplete-Felder geben, deren möglichen Select-Werte aus Referenzen zur Taxonomy bzw. Node-Referenzen befüllt werden.
Anbindung von Rules und die Möglichkeit vor Absenden weitergehende Validierungen oder Felder-Manipuliationen via Hooks durchzuführen, sollte möglich sein.
Welches Formular-Modul ist hier geeignet?
Oder doch besser alles selbst schreiben über die Formular-API?
- Anmelden oder Registrieren um Kommentare zu schreiben

Mit webform hast du - wie
am 20.08.2013 - 10:42 Uhr
Mit webform hast du - wie schon du schriebst - nicht direkt Zugriff auf autocompletes etc.. - also eigentlich auf die sonst bekannte field API.
Umsetzbar ist das Ganze aber mit dem Modul [do:entityform] - hier kannst du dir Formulare erstellen, die auf Basis der dir bekannten Drupal Field API arbeiten - sprich Zugriff auf Views/ Terms etc. wäre alles möglich. Die Anzeige von abhängigen Feldern kannst du mit dem [do:conditional_fields] Modul umsetzen. Auch wenn auf der Modulseite steht, dass es Not ready for use on production sites yet sei, konnte ich hier keine größeren Probleme bei der Einbindung feststellen.
SteffenR
Hallo Steffen, danke für den
am 20.08.2013 - 10:58 Uhr
Hallo Steffen,
danke für den Tipp.
Alternativ habe ich noch https://drupal.org/project/form_builder gefunden.
Bei anderen Themen gibt es so schöne Verlgeichsseiten, wo die Features der Module verglichen werden.
Sowas habe ich leider zu Formularen noch nicht gefunden.
Nun habe ich das
am 20.08.2013 - 17:25 Uhr
Nun habe ich das Entityform-Modul installiert und getestet.
Sehr angenehme ist natürlich die gewohnte Felderverwaltung.
Was ich nicht verstehe:
Es werden ja per Default beim ABsenden des Formulars wieder Einträge in eine Submission-Datenbank geschrieben.
Ich dachte, das läßt sich via Submission Rules unterbinden.
Ich finde aber keinen Weg, wie man das machen kann.
Ist das überhaupt möglich?
Lissy01 schrieb Nun habe ich
am 20.08.2013 - 21:58 Uhr
Nun habe ich das Entityform-Modul installiert und getestet.
Sehr angenehme ist natürlich die gewohnte Felderverwaltung.
Was ich nicht verstehe:
Es werden ja per Default beim ABsenden des Formulars wieder Einträge in eine Submission-Datenbank geschrieben.
Ich dachte, das läßt sich via Submission Rules unterbinden.
Ich finde aber keinen Weg, wie man das machen kann.
Ist das überhaupt möglich?
Was stört dich denn daran? So ist nun mal die Funktionalität des Moduls. Die Submission Rules dienen dazu, auf der Abschicken des Formulars zu reagieren - in einer aktuellen Seite wickele ich darüber bspw. den Mailversand ab / lege User an etc.
Was hast du denn genau vor ? Wieso möchtest du die Daten auf Drupal Seite nicht zusätzlich speichern lassen?
Du kannst natürlich in den Rules Actions auch schauen, ob sich die Submission hier wieder löschen lässt - dies sollte über Entität löschen eigentlich möglich sein.
SteffenR
Hallo Steffen,Es geht ja
am 21.08.2013 - 06:04 Uhr
Hallo Steffen,
Es geht ja darum, daß Besucher eine Abfrage mit sehr umfangreichen Filter an eine Schnittstelle übergeben und Echtzeit-Daten von einem Fremdanbieter erhalten, die nicht in Drupal gespeichert sind.
Je nach Benutzeraufkommen könnten da seeeehr viele Abfragen entstehen und die DB schnell zumüllen.
Es würde keinerlei Sinn machen, diese Abfragen in der DB zu speichern.
Klar könnte ich die Einträge wieder löschen, aber es ist ja auch eine Frage der Performance.
An anderer Stelle werden auch ganz normale Kontaktformulare verwendet, mit Submission und Email-Versand.
Dazu sind bereits Webforms eingerichtet, die an der Stelle alles tun, was verlangt wird.
Inzwischen tendiere ich zu einem Kompromiss, daß die Funktionalität von Entity-Form mittels Hook erweitert wird.
Evt. kann man da ja das Schreiben in die Datenbank auch beim Absenden unterdrücken.
Ich lasse mir gerade das Entity-Form-Objekt mit dms ausgeben und evt. finde ich ja die Stelle.
Hier kann ich auch schön auslesen, wie z.B. ein Autocomplete-Form mit Taxonomy-Referenz geschrieben wird.
Vielleicht verzichten wir ja komplett auf das Modul und schreiben alles selbst.
Einen Hinweis, wie man das Entity-Form als Block verwenden kann, habe ich auch schon gefunden.