我正在使用Drupal 7,Webform 3.19和CiviCRM 4.3。
我正在使用webforms来更新CiviCRM信息。我想要知道的是在提交webform后提交电子邮件,并在提交之前提交值和提交后的值,以通知完成的更改。
这可能吗?我一直在看规则,我什么都没找到......
THX
答案 0 :(得分:3)
简短的回答是您需要编写自定义Drupal模块或CiviCRM扩展。
它将使用hook_civicrm_pre,并且必须区分来自您的webform的更新和来自正常后端工作的更新。 Webform可能还有一些其他的钩子叫做预先保存,你可以使用它。 (hook_form_alter允许你添加一些东西来处理预先保存,但是没有确定的方法可以知道你获得了与Webform相同的联系人ID)。无论如何,您的模块/扩展程序需要从现有内容中检索相关字段,并将其与表单值一起通过电子邮件发送给您。
您也可以启用CiviCRM的日志记录功能,但这通常会导致数据库膨胀和升级问题。 (这就是为什么它被引入后被标记为beta功能的原因。)
最终选项可能是仅在提供默认值时发送此选项(即仅在有人登录或使用校验和时)。在那里,您仍然需要编写自定义模块,但在提取正确的联系人信息方面可能更可靠。