Что-то, как это должно работать:
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
к идентификатору формы вы хотели бы изменить. Кроме того, конечно, вы должны изменить имя и значение поля.
Это также должны прочитать: Form API Reference
Как добавить ключ или значение? Какая у вас ошибка? Показать код. – Oswald
Возможно, было бы неплохо пометить вопрос с помощью версии drupal, которую вы используете. – Cyclonecode
@KristerAndersson API Forms и 'hook_form_alter' не изменились в этом отношении, поскольку Drupal 6 и, насколько я могу судить, не изменится и в Drupal 8. – Oswald