구현 세부 사항 은 system_settings_form 및 system_settings_form_submit 을 참조 하십시오. Drupal 7에서 기본값으로 재설정 버튼이 시스템 설정 양식에서 제거되었습니다.
function system_settings_form($form) {
$form['actions']['#type'] = 'actions';
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
);
if (!empty($_POST) && form_get_errors()) {
drupal_set_message(t('The settings have not been saved because of the errors.'), 'error');
}
$form['#submit'][] = 'system_settings_form_submit';
// By default, render the form using theme_system_settings_form().
if (!isset($form['#theme'])) {
$form['#theme'] = 'system_settings_form';
}
return $form;
}
System_settings_form :
구성 저장 버튼을 추가하고 콜백을 system_settings_form_submit 함수에 제출하십시오.
system_settings_form_submit :
function system_settings_form_submit($form, &$form_state) {
// Exclude unnecessary elements.
form_state_values_clean($form_state);
foreach ($form_state['values'] as $key => $value) {
if (is_array($value) && isset($form_state['values']['array_filter'])) {
$value = array_keys(array_filter($value));
}
variable_set($key, $value);
}
drupal_set_message(t('The configuration options have been saved.'));
}
모든 양식 요소를 반복하고 키를 양식 요소 키로 사용하고 사용자가 제출 한 양식 요소 값으로 $ form_state [ 'values']를 사용하여 값을 갖는 각 양식 요소에 대한 변수를 설정합니다.
따라서 variable_set 함수를 사용하여 모든 양식 값에 변수를 설정하는 제출 핸들러가있는 양식 일뿐입니다.