When you install Drupal 7, there are a handful of blocks placed into regions. This includes the main content and Help.
All sidebar stuff goes into Sidebar first. You cannot put any other block in on a fresh Drupal install or when enabling a theme, and cannot put them into different regions.

This works well for "Drop your content here" scenarios and a user that knows how to customise Drupal.
But as soon as you want to do a more complex theme with multiple, even custom regions that showcases the flexibility of the drupal theme system, things unforgivingly hit a wall.
Thus happening for Bartik:
Wanna place "recent posts" into the footer? - Not possible.
Wanna showcase a special region by putting some block into it? - Not possible.
Wanna enable both sidebars out of the box? - not possible.
Wanna place the user login in a fancy position? - not possible.
This plays into the area of having sample content for a fresh install, but is something different. Drupal comes with a wealth of helpful blocks on a fresh install - hey, this includes Main and secondary menu, for which you still gotta go with this dreaded old hardcoding in your theme! - but you just cannot show them on install, or much better, just downloading and enabling your theme.
Thinking about trying to get new themers to drupal that want to create kick-ass themes: imagine if they could really showcase them on install. Think e.g. of all the topnotch themes and their cool wealth of regions.
I as a theme author would shout boo finding out that drupal does not allow me to really show my theme off but on the screenshot. User sees Screenshot: oh, great! Enables theme :( - where is all the cool stuff?
Targeting primarily at Bartik but also at all contrib theme, to pull this off would be beyond awesome.
As for implementation I guess this would be a call for .info file. Ack, I can see .info file getting longer and longer - but for a good end in this case.
| Comment | File | Size | Author |
|---|---|---|---|
| default-regions-d7-enabled.png | 20.71 KB | eigentor |
Comments
Comment #1
eigentor commentedSo here is the image then: Default regions on fresh D7 install for all themes:
Ah o.k. there's also the "Powered by Drupal" in the footer by default, but I guess this does not really excite me out of my mind ;)
Thinking about it some more, being able to place main and secondary menus as blocks might be even the biggest and most exciting win of this. Think of being able to use the contextual edit link on Main menu also right out of the box!
Comment #2
David_Rothstein commentedSince an install profile can choose which theme it wants by default, I think we essentially already have this for the "new installation" case. (Someone could just write the "MySuperCoolTheme demo" install profile, for example, which places the blocks wherever it wants.)
I agree that for installing a new theme on an existing site this would be an interesting feature, but it seems like it would have to be some kind of user-facing option (a choice you get on a confirmation screen) because otherwise this could mess up their existing block layout, right? On the other hand, I guess it's not like the current code - which tries to faithfully preserve your existing block placement when you switch themes - always works perfectly anyway :)
Comment #3
eigentor commentedWell yeah: When switching themes it is nice that Blocks are preserved. That is actually neat when testing out themes - but: this only works as long you have not customized any blocks in the themes.
So one would have to think about use cases.
1. Theme creator wants to showcase his theme right out of the box with more than Drupal default regions - Then the functionality I propose (given it is solved technically) would be a great asset
2. Person wants to check out different themes with same block in region positions - can be done now to a limited extent: Theme gets default Regions on install. For this usecase 1. would get in the way.
3. Person wants to do 2., but use all the custom blocks that are enabled (customized) in another theme - can only work if regions are named the same. Given we always have the standard regions left and right, content, footer and header in D7, one could do quite some magic with this.
At the moment I'd be shooting for 1. which would be nice for contrib themes. For Core themes and Bartik we don't need it as your solution in #850562: Install default blocks into Sidebar second instead of Sidebar first shows.
I fear all this stuff might be out of scope for D7, 3. is for sure.
Still it might be worth discussing what 1. would need on a technical level. and what other drawbacks than losing the default regions would come with it.
There was a lot of discussion about sample content in the bartik issue queue, http://drupal.org/node/700148#comment-2716302 and this is targeting the same WTF when it comes to contrib theme maintainers.