Drupal 7 is coming, like it or not! With the upcoming release, many theme designers are anxious to know what they'll have to do to migrate their existing Drupal 6-compatible themes to make them work with Drupal 7. Here are the changes I found most interesting:
jQuery UI 1.7 is in Core!
These Aren't Your Mother's Blocks
- $content is now mandatory in all themes (it's a full region in Drupal 7.)
- Main page content is now a block... watch out, because it's wrapped in a CSS .block class!
- $left and $right variables are now $sidebar_first and $sidebar_second
- Blocks defined by Drupal core have more meaningful CSS IDs, like block-profile-author-information instead of Drupal 6's block-profile-0
- $block->content is now just $content in block.tpl.php
Mission Statement, Footer and $closure have been removed
$closure becomes $page_bottom, and a new $page_top must be placed at the beginning of the HTML body.
Drupal will be more accessible than ever to users who rely on screen readers. Check it out:
- Installation task progress bars are accessible with a screen reader, not just through CSS.
- There's a new description of the breadcrumbs so that screen readers will read out "You are here" before parsing the breadcrumbs, to give users context that was previously only presented visually.
- Theme_links() now accepts a header attribute, to conform to the Web Content Accessibility Guidelines for content sections.
- New CSS system classes .element-hidden and .element-invisible have been added to hide elements in an accessible manner.
No more writing a bunch of page-user.tpl.php and page-user-1.tpl.php... in Drupal 7, you can insert a wildcard like so: page-user-%.tpl.php. Voila!
What are you most concerned about as you transition to Drupal 7?
Post your comments below.
For the full list of changes, check out the d.o article at http://drupal.org/update/theme/6/7.