Using my handy CVS wayback machine, I discovered that the existing Theme Settings API was introduced in Drupal 4.2. Since then it has only received minor tweaks so that it continues to work with the rest of the system (FAPI tweak, $themes array tweaks).
For 6.x, the PHPTemplate is the default theme engine. And yet the the Theme Settings API is incompatible with the default theme engine.
- If a PHPTemplate theme attempts to implement a
phptemplate_settings()function those settings are not accessible unless the theme being configured is the active theme. - Sub-themes do not get their parent theme’s settings. (This one is impossible to solve without upgrading the API.)
- Worse, the theme-specific settings are incorrectly described to the user/admin as “These settings only exist for all the templates and styles based on the phptemplate theme engine.” In actuality these settings only exist for the specific theme being configured.
If we’re not going to fix these bugs and upgrade the Theme Settings to be in-line with the rest of 6.x Theme APIs (see #57676), the whole thing should be removed. The existing Theme Settings is more like a useless appendix; and it’s getting in the way.
The Theme Settings API can live in contrib land until 7.x.
The attached patch removes the API. At this point, it is simply code bloat.
| Comment | File | Size | Author |
|---|---|---|---|
| themesettings-appendectomy.patch | 1.47 KB | johnalbin |
Comments
Comment #1
hass commentedSubscribing and asking, if the above patch goes in - the patch in http://drupal.org/node/57676 doesn't apply anymore, isn't it?
Comment #2
hass commentednow, after patch http://drupal.org/node/57676 landed today - i think we can close this case...
Comment #3
johnalbinAgreed. Yeah!