Um amigo acabou de me mostrar system_settings_form em ação em um arquivo de configuração de um formulário.
O código em questão se parece com isso (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 adiciona botões de envio e lida com o envio do formulário, salvando as variáveis. Ele também adiciona um botão "Redefinir para o padrão" - que redefine toda a variável para o padrão.
Eu basicamente adivinhei o que faz, porque não há muita documentação por aí e meu amigo também não sabe exatamente o que faz. Minha pergunta é como ele conhece as variáveis para salvar / redefinir? Não estou apenas passando uma matriz?
Também há alguma outra mágica no system_settings_form que eu deveria conhecer?