api - Drupal 8 - 将 Web 表单提交到外部 API
问题描述
我的 Drupal 网站 (8.8.5) 上有一个 Webform。Webform 有多个字段以及两个文件字段。
当用户提交 Web 表单时,我想将详细信息发送到外部 API (SugarCRM),包括 Web 表单中附加的文件。
我怎样才能做到这一点?Drupal 8 中是否有可用的模块来轻松实现这一点?还是我需要处理提交的数据并手动调用API?
我还想将数据存储在网站上,因为它通常可以正常工作。
解决方案
我相信Webform SugarCRM 集成可能正是您所追求的。它具有8.x-2.1
Drupal 8 的稳定版本。
如果它不适合您的需要,您可以编写自己的自定义 Webform 处理程序。如下所示,扩展了 Webform 的WebformHandlerBase
类:
<?php
namespace Drupal\your_module\Plugin\WebformHandler;
use Drupal\webform\Plugin\WebformHandlerBase;
/**
* Class SugarCrmWebformHandler.
*
* @package Drupal\your_module\Plugin\WebformHandler
*
* @WebformHandler(
* id = "sugar_crm",
* label = @Translation("Sugar CRM"),
* category = @Translation("External"),
* description = @Translation("Webform handler integrating with Sugar CRM."),
* cardinality = \Drupal\webform\Plugin\WebformHandlerInterface::CARDINALITY_SINGLE,
* results = \Drupal\webform\Plugin\WebformHandlerInterface::RESULTS_PROCESSED,
* )
*/
class SugarCrmWebformHandler extends WebformHandlerBase {
/**
* {@inheritdoc}
*/
public function postSave(WebformSubmissionInterface $webform_submission, $update = TRUE) {
# code for Sugar CRM...
}
}
或者,您也可以考虑使用 Webform 的RemotePostWebformHandler
类,它可以为您的集成提供一些样板。
查看其他资源:
推荐阅读
- javascript - 流程 - 创建“一个或另一个”属性
- flutter - 文本跨度上的 GestureDetector 没有换行符
- scala - 在scala Spark中从向量列转换为Double [Array]列
- c++ - Nvidia TX2 上的 Windows 应用程序?
- angular-material-7 - 如何添加图像按钮并通过角度材料对其进行导航
- python - 如何在 Web 系统上集成不同的 modbus 设备?
- java - 在android中创建对象
- apache-spark - Pyspark + 关联规则挖掘:如何将数据帧转换为适合频繁模式挖掘的格式?
- python - xpath 中的“text()”返回错误,参数无效
- codeigniter - CodeIgniter 会话为空