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
Try using caching in the View settings, set to 24 hours. This should work for anonymous site visitors.
View to show a different node each day
That would actually be a nice usability improvement. A lot of people already build search pages with Views, so having an easier way to convert the default search results into a View would make...
[UX] Convert search to a view.
Have you already played with Views random seed? I belief, what you try to achieve would work with that module. Show only one node and set the sort order to "Global: Random seed" with "...
View to show a different node each day