提交前Drupal Webform值

时间:2013-11-20 15:53:24

标签: drupal-7 drupal-webform civicrm

我正在使用Drupal 7,Webform 3.19和CiviCRM 4.3。

我正在使用webforms来更新CiviCRM信息。我想要知道的是在提交webform后提交电子邮件,并在提交之前提交值和提交后的值,以通知完成的更改。

这可能吗?我一直在看规则,我什么都没找到......

THX

1 个答案:

答案 0 :(得分:3)

简短的回答是您需要编写自定义Drupal模块或CiviCRM扩展。

它将使用hook_civicrm_pre,并且必须区分来自您的webform的更新和来自正常后端工作的更新。 Webform可能还有一些其他的钩子叫做预先保存,你可以使用它。 (hook_form_alter允许你添加一些东西来处理预先保存,但是没有确定的方法可以知道你获得了与Webform相同的联系人ID)。无论如何,您的模块/扩展程序需要从现有内容中检索相关字段,并将其与表单值一起通过电子邮件发送给您。

您也可以启用CiviCRM的日志记录功能,但这通常会导致数据库膨胀和升级问题。 (这就是为什么它被引入后被标记为beta功能的原因。)

最终选项可能是仅在提供默认值时发送此选项(即仅在有人登录或使用校验和时)。在那里,您仍然需要编写自定义模块,但在提取正确的联系人信息方面可能更可靠。