Drupal,制作大型表格的最佳方法是什么

时间:2018-07-27 15:40:33

标签: forms drupal

我必须在drupal网站上建立一个庞大的表格,这是给旅行社的,这是一份满意度问卷。 在表格开始时,用户选择自己的旅行类型,此后所有字段均取决于第一个答案,对于每种旅行类型,都有不同的字段需要填写。

所以我的问题是做这种表格的最佳方法是什么(旅行有12种类型,所以有12种不同的字段集(〜50个字段/类型))。

我认为webform可以与webform条件字段一起使用,但是我认为webform存在的问题是当我要导出数据时,在CSV中,我将拥有所有旅行类型的所有字段,这将是非法的。 我进行搜索,但是找不到是否可以通过编程方式隐藏csv的字段。

我在互联网上找到的第二种方法是CCK,但我对此没有经验。

您有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用webform模块提供的挂钩:

/**
 * Alter a Webform submission's data when exported.
 */
function hook_webform_csv_data_alter(&$data, $component, $submission) {
  // If a value of a field was left blank, use the value from another
  // field.
  if ($component['cid'] == 1 && empty($data)) {
    $data = $submission->data[2]['value'][0];
  }
}

webform.api.php中找到到Webform模块文件夹中

您还可以通过自己的更改表单过程来修改提交功能:

function hook_form_alter(&$form, &$form_state , $form_id){
  if ($form_id == 'myformid'){
    $form['#submit']= array('mycustomsubmit'); // or loop on existing to suppress only unwanted submit callbacks
  }
} 
function mycustomsubmit($form , &$form_state){
  // do your stuffs csv exports
}