Drupal 8:提交表单后发送PDF文件

问题描述

您好,我使用的是Drupal 8,我想创建一个表格,并在提交时在表格中的电子邮件中发送PDF文件

解决方法

在drupal中创建Web表单的最简单方法是使用Webform模块:

https://www.drupal.org/project/webform

使用hook_form_alter(&$form,FormStateInterface $form_state,$form_id)将自定义提交处理程序添加到该表单。在挂钩函数中,您应该添加如下代码:

$form['actions']['submit']['#submit'][] = 'your_custom_handler_function_name';

基本上,$form['actions']['submit']['#submit']是提交处理程序(数组)的列表,您只是添加自己的列表。可能有所不同-您必须检查并查看确切的结构。添加功能后,别忘了清除缓存!

然后,在提交表单时将调用您的自定义提交处理程序,因此您可以在函数内部发送附带PDF的电子邮件。

您的自定义提交处理程序应如下所示:

function your_custom_handler_function_name($form,FormStateInterface $form_state) {
...

要发送带有附件的电子邮件,您必须安装其他模块,例如Swift Mailer:

https://www.drupal.org/project/swiftmailer

或类似的东西。

,

如果您不想进行任何编码,则可能要使用the Rules module