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
I think given the warning on the source site: At this time, if your new project can afford to require PHP 5.5+, which it should, please use PHP's native password_hash() /...
July 31, 2025
I did a very quick test and if the Display format of the webform submission value is HTML then it appears but if plain text then it doesn't, so something is included regardless of if empty when...
"Hide rewriting if empty" has no effect
Just to clarify it appears that the item: Fix Search for "On the Web" module, is about the search on backdropcms.org at https://backdropcms.org/modules
July 31, 2025