Problem/Motivation
On a site where the default theme value has a config override (for example, through the Domain Config module that's part of Domain Access), you can end up with unexpected results in admin paths that include the theme.
The path admin/structure/block is for managing blocks of the default theme--which changes per domain.
Say you have a default domain, Domain A, and the default theme value is "Theme A". On the non-default domain Domain B you've saved an overridden default theme value of "Theme B".
The path admin/structure/block will always have the same label, but will lead to a different set of blocks if visited from different domains.
If you clear caches (for example, with Admin Toolbar) from Domain B, the path admin/structure/block will end up with the label "Theme B". If you visit the path on Domain A, it will appear to be displaying the blocks of "Theme B" but will actually display the blocks of "Theme A", and "Theme B" blocks will be inaccessible. Conversely, if you clear caches on Domain A and then visit the path on Domain B, it will have the label "Theme A" but will actually display blocks of "Theme B".
The expected behaviour is that admin/structure/block will always lead to the default theme without config overrides.
Proposed resolution
- For local task title, use the default theme without overrides.
- In
BlockListController::listing()
, instead of$this->config('system.theme')->get('default')
, load the default theme without overrides.
Comments
Comment #12
larowlanThis came up as a bug-smash triage target. Based on the lack of activity here, downgrading this to minor.