When trying to set up a settings form for a theme (using HOOK_form_system_theme_settings_alter()
in a theme-settings.php
file), I very often find myself doing something like this:
function MYTHEME_form_system_theme_settings_alter(&$form, &$form_state, $form_id = NULL) {
$my_setting = theme_get_setting('my_setting');
$form['my_setting'] = array(
'#type' => 'checkbox',
'#title' => t('Some setting'),
'#default_value' => isset($my_setting) ? $my_setting : TRUE,
);
}
I would like to be able to do the following instead:
function MYTHEME_form_system_theme_settings_alter(&$form, &$form_state, $form_id = NULL) {
$form['my_setting'] = array(
'#type' => 'checkbox',
'#title' => t('Some setting'),
'#default_value' => theme_get_setting('my_setting', 'MYTHEME', TRUE),
);
}
In other words, change the function to include a 3rd, optional $default
parameter so that it is theme_get_setting($setting_name, $theme = NULL, $default = NULL)
.
Similarly, I would like to be able to do that with config_get()
, so change it to this:
config_get($config_file, $option = NULL, $default = NULL)
.
Recent comments
Argiepiano, you're incredibly helpful; I should have paid closer attention to the error notifications.
D7->B, How do I specify multiple databases in settings.php
I think I've got a handle on Layouts. What is the difference between Cards and Blocks?
Themes: anything like ZEN?
I don't think I said that I liked Zen :-) It's just that I used it on a couple of fairly large sites and was comfortable with it. Learning layouts has got to be easier than learning D10. I...
Themes: anything like ZEN?