问题描述
您好,我使用的是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。