Forms Drupal,什么';It’这是制作巨型表单的最佳方式
我必须在drupal网站上制作一个巨大的表格,它是为旅行社准备的,是一份满意度问卷。 在填写表单时,用户选择他所做的旅行类型,然后所有字段取决于第一个答案,对于每种旅行类型,都有不同的字段需要完成 所以我的问题是做这个表单的最佳方式是什么(有12种类型的旅行,12种不同的字段集(~50个字段/类型)) 我认为webform可以与webform条件字段一起使用,但我认为webform的问题是,当我想要导出数据时,在CSV中,我将拥有所有旅行类型的所有字段,这将是不可行的。 我搜索了它,但并没有找到是否可以通过编程方式隐藏csv的字段 我在互联网上发现的第二种方法是CCK,但我没有这方面的经验Forms Drupal,什么';It’这是制作巨型表单的最佳方式,forms,drupal,Forms,Drupal,我必须在drupal网站上制作一个巨大的表格,它是为旅行社准备的,是一份满意度问卷。 在填写表单时,用户选择他所做的旅行类型,然后所有字段取决于第一个答案,对于每种旅行类型,都有不同的字段需要完成 所以我的问题是做这个表单的最佳方式是什么(有12种类型的旅行,12种不同的字段集(~50个字段/类型)) 我认为webform可以与webform条件字段一起使用,但我认为webform的问题是,当我想要导出数据时,在CSV中,我将拥有所有旅行类型的所有字段,这将是不可行的。 我搜索了它,但并没有找到
您有什么建议吗?您可以使用模块提供的钩子: 在webform模块文件夹中的
webform.api.php
中找到
您还可以通过自己的更改表单过程修改提交功能:
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
}
也许你可以创建一个多步骤表单:这似乎是一个很好的解决方案,但使用webform创建更容易,我唯一的问题是csv导出,使用webform,我将有一个包含100多个字段行的csv,我在网上搜索,但没有找到任何修改csv导出功能的解决方案csv导出是在表单提交时启动的还是独立的?它是独立的,使用webform有一个后端,您可以导出csv,但我没有找到任何钩子来更改csv导出功能我还有最后一个问题,我必须复制这样的东西,你认为这在webform中是可能的吗?复制下一个/上一个导航?还是多检查盒@Jessyth带有多复选框的表格,如屏幕中的您需要自定义开发,我将尝试向您展示我认为在没有webform的情况下我将如何完成,hook csv data alter允许我自定义csv中的数据,但不允许自定义csv:/
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
}