Integration von Rules in Webform

Im Modul Webform ist bisher keine Möglichkeit eingebaut, Ereignisse für Rules auszulösen. Leider wird nach Aussage des Maintainers eine derartige Verbindung auch in naher Zukunft nicht integriert werden.

Drupal wäre jedoch nicht Drupal, wenn man dieses Manko nicht durch ein kleines selbstgeschriebenes Modul beheben könnte.

Das unten stehende Modul löst beim Absenden eines Webforms ein Ereignis aus, das von Rules ausgewertet werden kann. Als Parameter werden sowohl der aktuelle Benutzer, als auch die Webform-Node ansich und die Formulardaten mitgeliefert.

Inhalt von webform_rules.module: Inhalt von webform_rules.rules.inc: array( 'label' => t('A webform has been submitted'), 'module' => 'Webform', 'arguments' => array( 'user' => array('type' => 'user', 'label' => t('User, who submitted the webform.')), 'node' => array('type' => 'node', 'label' => t('The webform node.')), 'data' => array('type' => 'data', 'label' => t('The submitted webform data.')), ), ), ); } ?>

Aktiviert man nun das Modul, hat man in der Liste der verfügbaren Ereignisse einen neuen Eintrag und kann über diesen auf die mitgelieferten Formulardaten zugreifen.

Das fertige Modul zum Herunterladen und Testen könnt ihr euch von drupal.org herunterladen.

Stefan Borchert
  • Geschäftsführung

Stefan ist Co-Geschäftsführer und zuständig für die Qualitätssicherung bei undpaul. Er beherrscht ver­schiedenste Programmiersprachen und hat ein Auge für das User Interface. Er ist Maintainer diverser Module, Mitarbeiter am Drupal Core und Mitglied der ersten Stunde der Drupal User Group Hannover. Acquia Certified Developer seit Juli 2014. Entgegen aller gängigen Vorurteile über Programmierer, zieht er Bewegung an der frischen Luft dem Sofa vor.