【问题标题】:Hooking a Drupal Webform submission挂钩 Drupal Webform 提交
【发布时间】:2014-12-16 15:49:33
【问题描述】:

我正在开发一个 Drupal 7 网站。该网站有几种表格,它们采用用户的电子邮件地址。作为流程的一部分,我需要能够通过 API 将电子邮件提交到邮件列表。

我已经编写并测试了所有用于将新用户添加到邮件列表等的调用。我不太确定的是,当表单提交到 Drupal 站点时,我如何让这段代码运行。

我认为会有一个钩子函数,但我正在努力追踪它。我的表单是使用 Webforms 模块设置的。

【问题讨论】:

    标签: php forms drupal drupal-7 drupal-webform


    【解决方案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
    }
    

    【讨论】:

    • 我将钩子添加到我的theme.php 文件中,但它似乎没有被命中。可以肯定的是,我在hook_form_alter() 函数中添加了var_dump($form_id) 和exit()。我还清除了缓存。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多