[development] $custom_theme when does it take effect... when doesit not
Earl Miles
merlin at logrus.com
Fri Aug 15 01:00:43 UTC 2008
Jon Saints wrote:
>> If you're doing this in with custom code, you should give
>> http://drupal.org/project/sections a try. The module has been thoroughly
>> tested and works AFAIK. Similar, but different purpose is
>> http://drupal.org/project/switchtheme.
>
> Thanks. I will check out these modules
>
>> You should not try to change the theme on block administration pages. Above
>> mentioned modules implement exactly this exception.
>
> As for the bug in the block module, I think there is actually a good
> reason that the author of the block module in core is trying (but not
> succeeding) to change the theme on block administration pages. As you
> to edit blocks for different themes in the block admin it helps to
> have the active theme change accordingly so that a user can see where
> on the page the block regions will be appearing. Different themes can
> have different arrangements of regions.
>
> The bug occurs when the block_admin_display() function changes
> $custom_theme variable and calls init_theme(). The global variable
> $theme has already been set by a previous init_theme() call somehwere
> in drupal so init_theme() is essentially ignored in
> block_admin_display(). The theme does not change. That is why we are
> seeing the wrong list of blocks appear for any theme that is not the
> active theme.
>
> So... how best to deal with this?
IMO this is not a bug in block module; it's a bug in whatever is calling
theme() or init_theme() before block module has a chance to set
custom_theme.
More information about the development
mailing list