Webform und SMS
am 23.11.2010 - 22:54 Uhr in
Ich benutze das Webform-Modul für die Kontaktaufnahme.
Jetzt möchte ich neben dem E-Mail-versandt auch eine SMS abschicken.
Seit mehreren Tagen versuche ich dies erfolglos mit den Modulen SMS-Framework, Rules und auch mit Flags, Trigger und Aktionen zu realisieren.
Zwar klappt das Senden einer SMS über den Gateway Clickatell z. B. bei der Erzeugung eines neuen Nodes ganz gut.
Doch was muss ich tun, damit ich auch das Abschicken des Web-Formulares unter Rules "triggern" oder "Flaging" kann? Denn dann könnte ich ja die Aktion -SMS-senden- damit verknüpfen.
Es wundert mich sehr, dass ich beim googlen nicht fündig wurde, denn dies ist bestimmt eine gute Sache für Leute, die nicht ständig online sind und deshalb eine SMS die Lösung ist.
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben
Webform + Rules
am 24.11.2010 - 08:33 Uhr
Hallo.
Leider weigert sich der Maintainer von Webform, eine Rules-Integration ins Modul aufzunehmen.
Daher bleibt Dir als einzige Option, ein kleines Modul zu schreiben, welches zum Formular von Webform einen submit-Handler hinzufügt und über diesen Handler eine eigene Rule anstösst.
webform_rules.module
<?php
/**
* Implementation of hook_form_alter().
*/
function webform_rules_form_alter(&$form, $form_state, $form_id) {
if (strpos($form_id, 'webform_client_form_') !== FALSE) {
// Add custom submit handler.
$form['#submit'][] = 'webform_rules_client_form_submit' }
}
/**
* Custom submit handler for webform submissions.
*/
function webform_rules_client_form_submit($form, &$form_state) {
global $user;
rules_invoke_event('webform_rules_submit', $user, $form);
}
?>
webform_rules.rules.inc
<?php
/**
* Implementation of hook_rules_event_info().
* @ingroup rules
*/
function webform_rules_rules_event_info() {
return array(
'webform_rules_submit' => array(
'label' => t('A webform has been submitted'),
'module' => 'Webform',
'arguments' => array(
'user' => array('type' => 'user', 'label' => t('User, who submitted the webform.')),
'form' => array('type' => 'form', 'label' => t('The submitted webform.')),
),
),
);
}
?>
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Webform und Rules
am 24.11.2010 - 11:34 Uhr
Hallo Stefan,
danke für diese sehr kompetente Hilfe!
Ich habe es geahnt und mich nun entschlossen, mit Deiner Hilfe ein kleines Modul zu schreiben, denn dieser Submit-Handler in Webform ist mittels Rules vielfältig einsetzbar.
Vielleicht sollte der Webform-Maintainer diese Rules-Erweiterung doch noch einbauen, denn das würde das ohnehin sehr gute Webform-Modul erheblich aufwerten.
Danke Stefan, das war ein guter Motivationsschub.
Ich werde gelegentlich die Erfolgsmeldung veröffentlichen.
webform
am 24.11.2010 - 12:02 Uhr
Vielleicht sollte der Webform-Maintainer diese Rules-Erweiterung doch noch einbauen, denn das würde das ohnehin sehr gute Webform-Modul erheblich aufwerten.
Ja, das würde es. Allerdings hat der Nathan leider nur allzu deutlich gemacht, dass er das Konzept von Rules ansich "nicht gut" findet und auch keine Patches zur Integration von Rules akzeptieren wird.
Den hier gezeigten Lösungsvorschlag werde ich mal (nach ein paar Tests) als Blog-post veröffentlichen.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Webform Rules
am 26.11.2010 - 18:23 Uhr
Nur zur Info: [do:webform_rules Webform Rules].
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Webform Rules (gelöst)
am 26.11.2010 - 19:08 Uhr
Super - Stefan !!!!
nur so wird die Welt verändert!
Ich habe viele Stunden damit verbracht Dein Modul zu verstehen und habe dabei sehr viel gelernt.
Sogar das fehlende Semikolon am Ende von:
$form['#submit'][] = 'webform_rules_client_form_submit' ;
habe ich bemerkt.
Wie ich feststellte, hast Du es natürlich im offiziellen webform_rules.module ebenfalls berichtigt.
Ich werde künftig zum Webfom-Modul standardmäßig die Module
- webform_rules und
- webform_validation
mit aufnehmen und meinen Kunden die unbegrenzten Möglichkeiten von Rules anbieten. Z. B. den Erhalt einer SMS nach Kontaktaufnahme eines Interessenten, - und - und - und
Nochmal - vielen Dank an Stefan!
Gruß
Werner