Within a theme I would like to have an option to change the theme settings to my current themes likings.

Usecase:
I have a theme specifically built for client to work as an admin theme (rootcandy).
The administrators (user 1) choice is Seven theme, so when admin goes to setting up clients theme the theme system is using Seven and obviously all _alters from clients theme are ignored. But I would like to have a form alter used from clients theme to change the settings form (add drag and drop sorting, etc...) specifically for the client theme.

Maybe if we can have within the theme registry functions a flag that will say the function can be used globally if the theme is enabled, or some sort of priority for special cases? or make it work just with the theme settings?

Comments

larowlan’s picture

Status: Active » Closed (works as designed)

You need a module to do this.
Lots of themes come with complimentary modules.
Eg omega and omega_tools.

sign’s picture

Status: Closed (works as designed) » Active

Closed already?
Yes, I know I need a module if I want to do it now in Drupal 7<, that's the reason why this is in a feature request for D8. I was thinking about make it as easier for the end user when they install the theme from contrib. Since we don't have any theme x module dependencies afaik...

larowlan’s picture

lauriii’s picture

Version: 8.0.x-dev » 8.1.x-dev
Issue summary: View changes
Status: Active » Postponed
Related issues: +#2489460: [Meta] Move module.theme.css files to Classy or Seven, +#2587615: Discuss if Drupal's theme system should be component driven
markhalliwell’s picture

Status: Postponed » Closed (works as designed)

Themes have been able to do this for years (and still works in 8.x). All a theme needs to do is define a hook_form_system_theme_settings_alter function, either in their .theme file or a theme-settings.php file.

Furthermore, sub-themes inherit base theme form alters so there's no need to do alters on a theme you shouldn't be doing alters on. If you want a theme to be able to participate in form alters when it's not the selected theme, create a proper base/sub-theme architecture so these form alters are inherited natively.