Eaton has released the uber-cool Gutenberg theme. http://drupal.org/project/gutenberg

It allows Moveable Types themes to become Drupal plugins.

I'd love to enable MySite users to select their page layout based on the options available to Gutenberg.

How it would work:

* MySite would read the themes available in the Gutenberg subfolder.
* Admins would select (through MySite settings) which themes to enable for users.
* On the MySite configuration page, users would be able to choose themes as well as layouts.
* (We could, of course, also use any installed Drupal theme as well).

This would get us closer to the 'MySpace' type customization goal.

Doing so would require an additional database column in the {mysite} table: 'theme' but otherwise I think the code is pretty straightforward.

Comments

agentrickard’s picture

Title: Gutenberg integration » Theme switching

Changing title to be a little more accurate.

agentrickard’s picture

I have this working in Drupal 5.1. Here are the rules:

1) Themes must first be enabled under Theme configuration.
2) The administrator can activate any enabled themes, using checkboxes.
3) A user can then select a theme from the available list.
4) Anyone viewing the user's MySite page will view it in the selected theme.
5) The selected theme is also applied to mysite/UID/edit and mysite/UID/add.

Items #1 and #5 are a little debateable. I could easily enable all themes for MySite, letting the admin handle which ones to activate. The assumption, though, is that only themes that have been error checked are enabled.

Some warnings:

1) MySite does not check themes for validity in any way. If they look ugly, don't blame me. MySite should work normally in any theme. theme testing and selection is the site admin's job.
2) MySite does not respond to the 'select different theme' Access Control setting. The theory is that MySite themes only apply to the individuals MySite page, so this setting is not relevant. if the admin wants to deny custom themes to MySite users, simply turn off the 'Theme' selection under MySite's configuration.

I hope to roll the changes into the DEV tarball this weekend. I think it's a cool feature. And check out Gutenberg, the inspiration.

agentrickard’s picture

Version: 5.x-1.x-dev » 5.x-1.10
Status: Active » Closed (fixed)

Done. Available in 5.x.1.10

agentrickard’s picture

Just a note. For the $custom_theme variable to be applied, a theme _must_ be enabled at Admin > Build > Themes. This behavior is part of Drupal core.