Es gibt wohl bei Webform 3.x keine Option, die den User auf unterschiedliche Zielseiten – abhängig von seiner Eingabe – weiterleitet. Jedenfalls habe ich keine gefunden.
Wofür braucht man sowas? In unserem Fall sollte ein Test erstellt werden, der einige Fähigkeiten eines Benutzers abfragt und dann eine Seite mit dem Resultat darstellt ("Sie haben 20 von 30 möglichen Punkten und sind somit ...").
Laut Dokumentation muss man sich hierfür ein eigenes Modul erstellen (http://drupal.org/node/1245298), aber es geht auch
Zuerst einmal konfiguriert man mithilfe von Rules ein Ereignis, bei dem die Aktion überhaupt greifen soll. Das Event ist "After a webform has been submitted". Als nächsten logischen Schritt definiert man die Voraussetzung, bei welchem Webform das ganze passieren soll (mit "Condition", "Webform has name"). Letzter und umfangreichster Schritt ist die "Action", über die mit "Page redirect" die Umleitung eingerichtet wird. Der Wert der Umleitung kann via PHP mit einem einfachen
echo 'node/123';
angegeben werden. Um nun vorher die Antworten im Formular zu berechnen, benötigt man die Eingaben des Users. Für z.B. den Radiobutton "wert_1" wird
$data['components']['wert_1']['value'][0]
herangezogen. Jetzt muss man "nur" noch die Berechnungen durchführen, deren Auswertung dann – je nach Wert – einen anderen Node aufruft.
Ich habe keinen einfacheren Weg gefunden – sollte es diesen geben, bitte einen Kommentar hinterlassen.
0 Kommentare:
Kommentar veröffentlichen