[development] Custom Theme Settings
drupal.user at albin.net
Fri May 11 06:57:14 UTC 2007
Custom theme settings are something that are currently possible, but
don't work terribly well in PHPTemplate.
Although it's not documented, you can add a phptemplate_settings()
function to your theme's template.php and add custom settings. BUT,
you can't edit settings of non-active themes because you would get
function re-declaration errors if you were to try including both the
active and non-active theme's template.php file. So a separate file
is really needed to hold each theme's settings.
I believe the best solution to this issue is to:
1. Change system_theme_settings() to allow both engine-specific
and theme-specific settings for any theme. Currently, if
the theme is based on an engine, system_theme_settings()
will only add engine-specific settings.
2. Add phptemplate_settings() to the PHPTemplate engine and,
using the $key passed by system_theme_settings(), look in
the $key theme's directory and include and return the
contents of a settings.php file.
I've made a patch for Drupal 6. If you want to review, contribute,
(or commit :-D ), take a look at the issue, patch and example
settings.php file here: http://drupal.org/node/57676
- John (JohnAlbin)
BTW, if you want a solution to this issue for Drupal 5, see my Theme
Settings API module at http://drupal.org/project/themesettings
More information about the development