Upgrade Your Drupal Skills
We trained 1,000+ Drupal Developers over the last decade.
See Advanced Courses NAH, I know EnoughEvaluating Base Themes
Parent Feed:
It’s rare in Drupal that you need to truly build a theme from scratch. It’s also rare that you should use Bartik as the base theme for your site (unless you want to — which is okay too). My three favourite base themes are NineSixty, Zen and Fusion. I like them for different reasons and each of the three themes only when it’s appropriate. Zen for its documentation, NineSixty for the speed of banging out a design as a theme, Fusion for client-controlled, future-proofed themes.
Even though I have my favourites I still like to stay up-to-date with what other base themes are doing. This blog post (and the video at the very bottom) cover how I evaluate base / starter themes. Note: I evaluate for themer experience first. The quality of the markup (semantic, valid, accessible) is not my priority at this stage because I'm usually adding my own markup to the mix as well. When you evaluate your base themes it may, however, be the first thing you want to evaluate. To each their own ... this is how I roll though.
This is not meant to be a how-to-use a base theme, nor is it meant to judge whether AT is better than Omega or better than this or better than that. All base themes have value to the team who created them. Most are also relevant to a larger community of themers. If you include different criteria when you are evaluating base themes, I'd love to hear from you.
- Download the base theme (usually with Drush) and look for a README file. If there is one—read it.
- Poke at the theme files but do not read comprehensively yet.
- Install the base theme and set it as your site’s default. Check it out. Repeat for any starter kits or alternate options that ship with the theme.
- Examine the default state of the theme applied to your Web site and look for helper info—for example region names printed out or wireframe borders. Omega ranks high on this test, Adaptive Theme ranks low. That doesn’t mean the themes you can build from this base theme will be better or worse, I just like to *see* how a theme will render and this is a quick no-code test.
- Check the theme settings page for what can be controlled from the UI—and more importantly what the theme expects you to control from the UI. For example: the width of a region may be controlled from a theme setting, or you may hard code it in your page template file. In NineSixty, for example, it’s hard coded. I’m cool with that when I just want to bang out a theme (or prototype a design). In Omega there are zones and regions and configurable widths in the administrative UI. This is also good, but different.
- How does the default theme behave with content? Often I skip this stage on a quick review, but Drush + Devel Generate makes it so easy to do that you might as well chuck some content into the site and see what happens.
- Finally I look at the code. You can definitely use validation checks, but I usually skip validation and assume things will be okay-ish out of the box. You may want to stop and make sure the code is going to be compliant with various standards and your personal moral code.
- What CSS is provided, and how is it structured? Is there one big CSS file, or lots of little files? Is there rtl support? (Do you even need right-to-left language support? Are you sure?)
- What tpl.php files are provided? What custom variables are used? Are the custom variables documented in the header of each template file, or do you need to know the core variables off-by-heart and guess at what’s provided by the theme? You may need to dig around in the file template.php to figure out how the variables are built, how core variables have been manipulated, and what each of the variables in the template files is actually doing.
- Now that you have an overview of how things fit together: think about how you build/receive your designs. If you use 17-column designs you will not be happy with a 12-column CSS grid framework. If you care about lean, semantic markup, mothership might be better than Zen for your workflow. Remember you are trying to save yourself work—if the base theme assumes “unnatural”-for-you workflow, choose a different base theme. Keep looking until you find something that “clicks” with how you work (you may even need to create your own).
- Rough out your last three designs with the base theme. Mentally (or on paper) sketch out how you would have built the design using the base theme you are evaluating. Remember you can add, or remove, (almost) any region, variable or markup you don’t like…but if you have to change a lot, ask yourself if this is the right base theme for you.
Accolades
I just wanted to tell you that I have had a true "Ah-HA" moment, on page 33 of SBE Guide: Community Site. After reading and typing and writing notes and going back again and again, all of a sudden I am looking at the code and I SEE it.
I just couldn't put all the pieces together before. I could see what was what (html, php, conditional statements) but I couldn't get my head around how it related to the site name banner up above. Like, I could see all the moving parts, but not the whole.
Thank you thank you thank you.
Thought I'd share my happiness :)
- Rachel, student in the SBE program
Recent Blog Entries
Original Post:
About Drupal Sun
Drupal Sun is an Evolving Web project. It allows you to:
- Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
- Facet based on tags, author, or feed
- Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
- View the entire article text inline, or in the context of the site where it was created
See the blog post at Evolving Web