hook_form_alter,添加数组等隐藏元素

时间:2013-10-24 21:43:24

标签: drupal drupal-7

如何通过hook_form_alter将隐藏元素或值这样的数组附加到表单?

我可以访问表单的不同部分,但在尝试添加键或值时会出错。

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

function sample_module_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'FORM-ID') {
    $form['sample_module_hidden_field'] = array(
      '#type' => 'hidden',
      '#value' => 'your-value',
    );
    $form['#submit'][] = 'sample_module_form_submit';
  }
}

function sample_module_form_submit($form, &$form_state){
   $values = $form_state['values'];

   // store the value from the hidden field
   if(!empty($values['sample_module_hidden_field'])){
      variable_set('sample_module_hidden_field', $values['sample_module_hidden_field']);
   }
}

您应该将FORM-ID更改为您要更改的表单的ID。当然,你应该改变字段的名称和价值。

这也是必读:Form API Reference