Mam*_*dou 7 drupal drupal-webform
我知道可以使用一些函数来改变drupal核心形式:hook_form_alter()
.我们可以将它与使用Webform模块创建的Drupal表单一起使用吗?
ale*_*xkb 14
在Drupal 7中,您可以使用hook_form_alter()
或者,您可以hook_form_<formid>_alter()
选择.只需确保您获得正确的命名和参数.Drupal 6只支持hook_form_alter()
.
当您创建这些函数时,还要记住,在刷新缓存之前,Drupal可能并不总是接受它们.
另一个需要注意的重要事项是,如果要对webform字段进行更改,则必须进行更改$form['submitted']
.我犯了最初尝试编辑的错误$form['#node']->webform['components']
,这没有任何效果.
更多信息可以在这里找到:http://drupal.org/node/1558246
希望能有所帮助.
你能行的,
你只需要节点的id然后使用像hook_form_ <FORMID> _alter()中的id
生成的FORMID是webform_client_form_ <NODEID>
其中NODEID是节点的id
所以,如果你有一个名为mymodule的模块和一个id为44且具有webform的节点
function mymodule_form_webform_client_form_44_alter(&$form, &$form_state) {
// code here;
}
Run Code Online (Sandbox Code Playgroud)
我不太确定你想要做什么,但是由于 webform 模块创建了一个内容类型 - webform - 你可以纯粹通过管理界面更改 webform 创建的表单 - 添加新的输入和输入类型,指定它们是否是必需的ETC。
例如,“联系我们”表单可以包含您想要的任何输入 - 与核心 Drupal 联系表单不同,IIRC 只有电子邮件地址和文本区域。