[gelöst] Modul erstellen in Zusammenhang mit Webform
am 06.03.2014 - 17:42 Uhr in
Hallo Community,
Mit meinem "DRUPAL-Wissen" konnte ich schon einige kleiner und mittlere Projekte realisieren. Etwas Grundwissen ist also vorhanden.
Ich bin dabei eine mittelgrosse Survey-Plattform zu erstellen. Dieses baut auf Webform(7.4) und beinhaltet für unterschiedliche Nutzergruppen diverse Formulare. Welches Formular
der Benutzer ausfüllen muss, hängt von seiner Herkunft und der Sprache ab. Es sind sogenannte "Multi-Step" Formulare über 3 Seiten. Dies läuft soweit, und war mit den Standard-Erweiterungen realisierbar.
Um weitere Anforderungen abzudecken habe ich damit begonnen ein Modul zu erstellen. Nach gutem Einstieg stecke ich hier ein wenig fest.
Eine Anforderung ist es, Daten aus einer entfernten Datenbank abzufragen und je nach Ergebnis den Benutzer auf einen bestimmten Formularteil zu leiten. Auch das habe ich hingekriegt. Wo ich nun aber hänge ist folgendes:
Ich möchte die Funktion aufrufen nachdem bzw. dann wenn der Benutzer die erste Seite des Formulars ausgefüllt hat und auf den "next"-Button klickt (Die Inputwerte kommen aus der ersten Seite des Formulars).
Die Werte die aus der Remote DB zurückkommen, will ich dann in einem "hidden Field" mit dem Formular weitergeben (aus der Session o.ä).
Kann mir vielleicht jenand einen Ansatz aufzeigen wie man sowas hinkriegen könnte, oder hat jemand schon sowas in der Art gemacht?
Für weitere Infos stehe ich gerne zur Verfügung
Vielen Dank schon jetzt schon für Eure Inputs und Zeit!
Rene
- Anmelden oder Registrieren um Kommentare zu schreiben
"Ich möchte die Funktion
am 07.03.2014 - 15:48 Uhr
"Ich möchte die Funktion aufrufen nachdem bzw. dann wenn der Benutzer die erste Seite des Formulars ausgefüllt hat und auf den "next"-Button klickt (Die Inputwerte kommen aus der ersten Seite des Formulars).
Die Werte die aus der Remote DB zurückkommen, will ich dann in einem "hidden Field" mit dem Formular weitergeben (aus der Session o.ä)."
Ich versuche das erst mal zu verstehen. Funktioniert also der Klick auf next so, dass die Daten dann schon in die DB gefeuert werden? Falls dem so ist könnest Du die Daen statt mitzuschleppen irgendwann irgendwo aufrufen (vielleicht in deinem eigenen Modul) und dann weiß Gott was damit machen.
Ohne jetzt die Specs von Webform im Kopf zu haben:
Ich glaube nicht dass Webform so funktioniert! Ich glaube viel mehr, dass bei Klick auf next einfach nur der nächste Teil des Formulars, wahrscheinlich aufgeteilt in fieldsets, aufgerufen wird. Erst nachdem submit geklickt ist zum Schluss, landen die Daten geschlossen in der DB.
hook_form_alter
am 07.03.2014 - 16:45 Uhr
Du kannst Dich über hook_form_alter ins Formular einklinken und einen eigenen Submithandler schreiben. Da kannst Du dann machen was du willst ;-)
http://www.zyxware.com/articles/3247/solved-drupal-webform-how-to-add-cu...
viele Grüße
Helrunar
Projekt Waterkant - CM-Solutions
Hallo maen, Hallo
am 10.03.2014 - 10:31 Uhr
Hallo maen, Hallo Helrunar
Besten Dank für Eure Antworten. Ich habe das nun so gelöst dass ich mit Hilfe von "hook_form_alter" nach dem Klick auf den "next"-Button der ersten Seite eine Validierung-Funktion aufrufe. Diesen Ansatz hatte ich eigentlich schon zu Beginn mal. Da hatte ich die Funktion aber in "meinem" Modul. Der Aufruf aus Webform hat dann so nicht funktioniert. Nun habe ich sie im Webform Package implementiert und es klappt.
Nochmals danke für Eure Inputs.
Beste Grüsse
Rene
Ich habe es auch in einem
am 10.03.2014 - 10:41 Uhr
Ich habe es auch in einem eigenen Modul, das funktioniert wunderbar und ist absolut updatesicher ...
viele Grüße
Helrunar
Projekt Waterkant - CM-Solutions