我们有一个老化的D7网站,该网站使用Webform模块将电子邮件发送到我们组织的ServiceNow平台。 SN小组希望要求使用SN API来处理Web表单提交。
D7甚至有可能吗? Webform似乎仅通过smtp发送电子邮件,而FAPI似乎仅适用于传入/内部REST调用。
为清楚起见,我们需要从 D
发送REST调用从D7升级到升级至少还有一年的时间,所以我必须在其生态圈内开展工作。
答案 0 :(得分:1)
我看不到这样做的直接方法,但是这就是我的方法:
您熟悉Drupal钩子吗?这就是我要走的路。
Webform模块具有一些挂钩,我将尝试使用这些2:
取决于您的需求。浏览模块文件夹内的 webform.api.php ,以了解更多详细信息。
一个简单且通用的示例:
创建一个新模块,假设为webform_mailing
,然后创建一个连接到Webform模块的函数,如下所示:
<?php
function webform_mailing_webform_submission_create_alter(&$submission, &$node, &$account, &$form_state) {
// Do your API calls here
}
当提交Webform时,您的功能将运行。然后,您可以使用参数,例如$submission
来获取值,调用您的API即可!
注意:请注意不要修改$submission
,因为您看到此值是通过引用传递的,因此,如果更改它,则可能会弄乱表单提交数据。
我希望这会有所帮助