我正在开发一个Drupal 7网站。该网站有几种形式,用于收集用户的电子邮件地址。作为流程的一部分,我需要能够通过API将邮件提交到邮件列表。
我已经编写并测试了所有调用以将新用户添加到邮件列表等等。我不太确定如何在Drupal站点上提交表单时运行此代码。
我认为会有一个钩子功能,但我很难跟踪它。我的表单是使用Webforms模块设置的。
答案 0 :(得分:1)
使用hook_form_alter()
挂钩您的网络表单实例&添加一个额外的提交处理程序:
/**
* Implements hook_form_alter().
*/
function hook_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'webform_client_form_{some id}')
{
array_unshift($form['#submit'], 'custom_webform_submit');
}
}
在custom_webform_submit()
中执行自定义代码:
function custom_webform_submit($form, $form_state) {
// custom code here
}