Znajomy właśnie pokazał mi system_settings_form w akcji w pliku konfiguracyjnym formularza.
Kod, o którym mowa, wygląda tak (uproszczony).
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 dodaje przyciski przesyłania i obsługuje przesyłanie formularza, zapisując zmienne. Dodaje także przycisk „Resetuj do domyślnych” - który resetuje wszystkie zmienne do domyślnych.
Zasadniczo zgadłem, co robi, ponieważ nie ma tam zbyt wiele dokumentacji, a mój przyjaciel też nie wie dokładnie, co robi. Moje pytanie brzmi: skąd zna zmienne do zapisania / zresetowania? Czy po prostu nie przekazuję tablicy?
Czy jest jeszcze jakaś inna magia w system_settings_form, o której powinienem wiedzieć?