[development] Fixing themes and regions

Metzler, David metzlerd at evergreen.edu
Thu Aug 17 20:17:09 UTC 2006


My short answer (2 cents) is yes, but I wonder if there might be another
way?   

I wonder if there could be an approach where the defaults would only be
overridden if an theme admin set that option for a specific theme, kind
of like the way "global settings" was originally implemented in themes,
but for block/theme configuration?  

Further explanation of instability problems: 
Ambiguity is introduced for sites in which users get to pick a theme.
When the user picks a theme and submits, the options about which blocks
are enabled or hidden or visible could change, but they wouldn't have
those options until after they'd picked a new theme.   

Cases where the theme overrides the allowable regions can also a point
of instability but do not have block administration privileges.  I've
had to remove overriding sections of contributed themes, and the add the
unsupported regions "somewhere" in order to make it so that a user can
"select a theme" without all the blocks disappearing. 

Hope that helps for the dicussion...

-----Original Message-----
From: development-bounces at drupal.org
[mailto:development-bounces at drupal.org] On Behalf Of Nedjo Rogers
Sent: Thursday, August 17, 2006 12:42 PM
To: development at drupal.org
Subject: [development] Fixing themes and regions

The region handling we introduced for 4.7 (and that I mostly wrote) is a
step forward but produced confusion and instability in multi-theme
sites. 
It's cumbersome to have to configure things like enabled status
separately for each theme. As a 4.7 workaround I wrote a helper module,
http://drupal.org/project/issues/blockregion.

I know that there's work ongoing to improve theme handling of regions.
But I'm behind on the status of this work. Is any of it for 4.8/5.0?

If not, I'd like to consider the following approach:

1. Drop the ability for each theme to define more than the region of a
block.
2. Pull the theme-block configuration into a separate table, e.g.,
block_theme, with fields module, delta, theme, region 3. Limit the UI
configuration to region only for non-default themes.

Is this needed/a good idea? 



More information about the development mailing list