Un amigo me mostró system_settings_form en acción en un archivo de configuración para un formulario.
El código en cuestión se ve así (simplificado).
function my_module_generateAdminForm($form){
$form = array();
$form['super_secret_password'] = array(
'#type' => 'textfield',
'#title' => t('Headline'),
'#default_value' => variable_get('super_secret_password','password'),
);
system_settings_form($form);
}
system_settings_form agrega botones de envío y maneja el envío del formulario, guardando las variables. También agrega un botón "Restablecer valores predeterminados", que restablece todas las variables a sus valores predeterminados.
Básicamente adiviné lo que hace porque no hay mucha documentación y mi amigo tampoco sabe exactamente qué hace. Mi pregunta es ¿cómo sabe las variables para guardar / restablecer? ¿No estoy pasando una matriz?
¿También hay alguna otra magia en system_settings_form que deba conocer?