【问题标题】:How to create a custom module from Webforms in Drupal 7如何在 Drupal 7 中从 Webforms 创建自定义模块
【发布时间】:2013-08-30 12:46:49
【问题描述】:

我有一个打算提交到贝宝付款的表格。

我已经尝试了几个选项,例如 Paypal API 等,但我似乎无法掌握它,因为我正在做的事情的要求非常简单。

现在我有一个表单,我正在使用 Webforms 来构建它。我很清楚 webforms 有它的 action 属性的默认值,这不是那么容易改变。

此外,输入的名称似乎类似于: 名称="提交[姓氏]"

直截了当,我想将网络表单的操作 url 和字段名称从简单地更改为 name="last_name"

有简单的方法吗?如果有的话,我会很感激你的建议。

另外,如果我根据我的阅读假设这是不可能的,我已经阅读了这个问题 (Using Hook_form_alter on webform submitted values),我可以创建一个基于 webform 的自定义模块并在那里进行更改。问题是我是 drupal 的新手,我仍在尝试了解如何使事情正常工作,我不知道如何启动或创建基于 webforms 的自定义模块。是否只是简单地将整个文件复制到 webforms 中,然后将所有出现的 webforms 替换为我的自定义模块名称?

【问题讨论】:

    标签: drupal-7 drupal-webform


    【解决方案1】:

    您不会从 webforms 创建模块,而是通常的做法是从另一个模块挂钩到特定表单。 基本上你需要 1 个文件夹和 2 个文件,例如 mymodule 文件夹和 mymodule.info + mymodule.module 。放置这些的好地方是您的安装目录下的 sites/all/modules/custom/。

    https://www.drupal.org/node/542202阅读关于.info文件的描述

    您可以通过多种方式连接到网络表单,但大多数表单篡改案例中的标准方式都是从 hook_form_alter 开始的。你的模块可以这样开始

    <?php
    function mymodule_form_alter(&$form, &$form_state, $form_id){
      /* find and tamper with $form here
         install devel and then uncomment the following */
      //dpm($form);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多