Drupal 7 Drupal 7-如何更改;选择";Webform提供的组件?
我需要添加一个新的自定义字段“Drupal 7 Drupal 7-如何更改;选择";Webform提供的组件?,drupal-7,components,field,alter,drupal-webform,Drupal 7,Components,Field,Alter,Drupal Webform,我需要添加一个新的自定义字段“coeff”到Webform提供的组件“选择选项”(slug是Select) 我使用hook\u form\u alter创建自定义字段: function my_module_form_alter(&$form, &$form_state, $form_id){ if ($form_id == 'webform_component_edit_form') { if ($form['type']['#value'] == 's
coeff
”到Webform提供的组件“选择选项”(slug是Select
)
我使用hook\u form\u alter
创建自定义字段:
function my_module_form_alter(&$form, &$form_state, $form_id){
if ($form_id == 'webform_component_edit_form') {
if ($form['type']['#value'] == 'select') {
$form['coeff'] = array(
'#type' => 'textfield',
'#title' => t('Coefficient'),
'#default_value' => '1',
'#description' => t('Set coefficient value for this question.'),
'#size' => 2,
'#maxlength' => 2,
);
}
}
}
有了这个,没关系。编辑“选择选项”组件时,我的字段可见。但我的值不保存在此字段中
我的问题是:
- 我必须在此表单中添加提交回调才能保存此自定义字段吗?如果是,它是如何工作的
- 如果我想做一个循环来产生很多问题,我该怎么做?我知道我必须构建一个节点对象,最后调用node_save()。。。但是我必须把这个自定义字段的值放在哪里“
”coeff
非常感谢。您需要将字段名更改为$form['extra']['coeff'],并更改默认值以显示保存的字段:
if ($form_id == 'webform_component_edit_form') {
if ($form['type']['#value'] == 'select') {
$form['extra']['coeff'] = array(
'#type' => 'textfield',
'#title' => t('Coefficient'),
'#default_value' => $form['#node']->webform['components'][1]['extra']['coeff'],
'#description' => t('Set coefficient value for this question.'),
'#size' => 2,
'#maxlength' => 2,
);
}
}
谢谢你的启发!