I am in the process of upgrading my Drupal 6 theme into a fully functioning Drupal 7 theme and came across some issues that I wanted to document here as a reference to those in a similar situation. I followed my instructions here to create a local copy of my website and then I went through the typical upgrade procedure as outlined by the UPGRADE.txt file supplied by Drupal. There were a couple hiccups in the upgrade process, but a few simple Google searches led me to the answers to fully migrate my installation to Drupal 7.
Enable Administration Theme
The first thing you should do is enable the administration theme by going to /admin/appearance. If you don't do this you could find yourself with the WPOD (white page of death) and unable to be able to diagnose what went wrong with your custom theme. If the administration theme is enabled you can always get back to your admin pages and switch to a different theme, enable and disable modules and check the database logs.
Check Recent Log Entries
Next, you should check out the Recent Log Entries to see if there are any errors or warnings. Even if everything appears to be working correctly you should make sure you don't have any new messages. If things aren't working as expected this is a good place to begin to diagnose the problem.
page.tpl.php Doesn't Have the Full Page
In Drupal 6 the contents of your page.tpl.php contained essentially a complete HTML page, including the opening and closing <html> tags, the <heading>, <title>, <link> and <body> tags. In Drupal 7, the page.tpl.php file only contains what would be in between the <body> tags of an HTML page.
The Way to Print Content into Regions Changed
The different regions in Drupal 6 used to be separate PHP variables. In Drupal 7 all of the content regions of a page are stored as elements in the page array variable. So instead of putting:
you should put:
Update .info File
Your .info file should be updated so that the line is
Once it appears as though your new theme is working try clearing the cache and checking again. If you are adding or removing .tpl.php files or adding or removing custom content areas in your .info file clear the cache to see the updated changes. Don't minify or aggregate CSS or JS until you're done developing and designing your theme.
Enable Overlay Module
If you are upgrading from a Drupal 6 site to a Drupal 7 site you will probably want to enable the Overlay module. This module provides the top administration bar overlay to accomplish admin level tasks. This makes use of AJAX and a modal window pop-up to help make administration tasks easier and quicker.
Clear Out template.php
It is probably the case that most of your functions and overrides will not work as expected in Drupal 7. I went ahead and cleared out my custom override functions so my template.php file is blank.
Custom Functions Probably Won't Work
I had used a special syntax to just return the links of my Primary Links menu in an unordered list in my page.tpl.php file. This same syntax didn't work for Drupal 7. Instead I resorted to creating a new region to hold my menu items and placing the Primary Links block in that region. I used template suggestions and overrode the default styling of the Primary Links block by making a copy of block.tpl.php in my root theme directory, naming it to block--menu--primary-links.tpl.php and modifying the original PHP.
Need to Have Double - on Template File Names
To use template suggestions in Drupal 6 you could simply create a new page template that was named page-front.tpl.php and it would override the page.tpl.php if you were viewing the front page. This same functionality is built in to Drupal 7 however the file naming syntax has changed. You now have to use two dashes to specify separations of the page arguments. So in Drupal 7 you would use the template file page--front.tpl.php to target the front page's template file.