Drupal-Webforms作为块修改操作



我使用的是Drupal 7.15,并将Webform设置为包含在Contact页面(基本页面)上的块。基本的联系人页面有可编辑的侧边栏内容,然后Webform块作为主要内容。我遇到的问题是,在提交时,Webform使用了自己的别名"general inquiries",而不是"Contact us"别名"Contact us"。我希望它返回到基本页面联系我们,并附上任何验证错误和/或确认消息。

表单操作似乎总是Webform别名,但是当我试图将别名更改为基本页面"联系我们"别名(联系我们)时,它会说这个别名已经在使用中。

如果不为错误或成功确认创建单独的页面,我如何修改操作以返回到提交时带有任何消息的原始页面?我不希望我们JS在事后设置表单操作。如果错误/成功消息没有传递给它,这甚至可能对我没有帮助。

如果你想看看的话,这里是测试服务器:

http://69.160.59.20/contact-us

非常感谢您的帮助!

感谢所有

Form操作可以使用Form_alter钩子进行设置。类似于:

my_module_form_alter($form, $form_state, $form_id) {
  if ($form_id == 'webform_id_form') {
    $form['#action'] = url('comment/reply/'. $edit['nid']);
  }
}

如果您正在使用Drupal 7,请跳过表单id检查并尝试:

my_module_form_form_id_alter($form, $form_state) {
}

如果你不知道如何找到表单id,只需使用上面的函数和打印语句:

my_module_form_alter($form, $form_state, $form_id) {
  print($form_id);
}

表单id将是其中包含单词webform的表单。

有关表单api的更多详细信息,请点击此处:http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#action

最新更新