Drupal Theming: The Code Behind the Videos

One of the best ways that we've found to learn Drupal is to look at a finished site. Drupal's out-of-the-box experience doesn't really show its full potential. In our latest Drupal theming videos, we needed to build a complete website in order to provide content to "fill out" the theme being built. Once we finished that site, we thought that video viewers and others might like to be able get access and try it out for themselves. So we've done two things with the code:

  1. We've uploaded the code and database to http://960robots.lullabot.com to act as a demonstration of the 960 Robots theme the we built in the videos. This is more for people to look at the front end and HTML output. We've disabled commenting and account registrations in order to keep the site in tact.
  2. We've also bundled up all of the code (modules, core files, etc) along with the database dump and created a installation profile which you can download here and install just like you would install Drupal core.
  3. UPDATE: We've also made available the original HTML template files with associated javascript & images so that you can follow along with the Theming Basics video.

Is This The Long-Awaited Lullabot Drupal Distribution?

Podcast 74: Drupal Design Round Table

81:25 minutes (30.81 MB)

Colleen Carroll, Nate Haug, Morten Heide (a.k.a. Morten DK), Susan MacPhee, John Albin Wilkins, and Jeff Robbins discuss designing and theming in and around Drupal. The panel discusses the current state of theming, the frustration designers can face when working with the CMS, Drupal design philosophies, and the upcoming Drupal Design Camp in Boston.

Drupal Voices 27: Preston So on Design in Drupal

5:35 minutes (3.29 MB)

Preston So of Monarch Digital talks about Design in Drupal as well as about some of the Birds of a Feather Design tracks at Drupalcon.

For More Information:

Download

Drupal Voices 26: Stephanie Pakrul on Top Notch Themes

9:36 minutes (5.22 MB)

Stepanie Pakrul (aka "stephthegeek") talks about what Top Notch Themes has to offer as well as what's on the horizon.

For More Information:

Download

Drupal Voices 25: John Albin on Theming Improvements for Drupal 7

5:40 minutes (3.17 MB)

John Albin Wilkins of Palantir.net talks about some of the Design & Theming community initiatives for Drupal 7 as well as some of the improvements that have already happened.

John has been at the center of trying to get more designers involved in making Drupal beautiful, and helped initiate the Birds of a Feather design track at Drupalcon, which he talks about more here.

Palantir has been involved with some innovative designs -- like the Herron School of Art & Design, which was nominated for a Webby -- and hopefully we can have some more out-of-the-box beautiful themes for Drupal 7.

For more information:
Drupalcon presentation: How to kill Blue Marine: new core themes for Drupal 7
Design for Drupal

Download

Drupal Voices 02: Colleen Carroll on SXSW CMS Showdown & Zen Theming

11:59 minutes (6.42 MB)

Colleen Carroll is a themer at Palantir.net and participated in the "Ultimate Showdown of Content Management System Destiny" panel at South by Southwest Interactive on March 16, 2009.

This interview was conducted at Drupalcon leading up to the actual panel, and Colleen talks about the competition & project specs, the Zen theming framework and their recently released "Austin" Zen subtheme that was created for the competition and released back into the community.

More details at:
http://cmsshowdown.com
http://drupalshowdown.com
http://wpshowdown.com
http://joomlashowdown.com

Using Secondary Menus

This video looks at using Drupal menus, specifically how to use the secondary menu concept to create a relation between your top level menu items and a child menu. Once we set them up, I play around in the theme to change up where they get displayed. I also play a bit with the CSS classes that are used. Besides learning about secondary menus, this video is also a brief intro to tweaking the page.tpl.php file of your theme.

Avoiding the Template.php of Doom (or, Overriding Theme Functions in Modules)

Drupal's theming system offers developers and designers a flexible way to override default HTML output when specific portions of the page are rendered. Everything from the name of the currently logged in user to the HTML markup of the entire page can be customized by a plugin "theme".

Unfortunately, this system can be its own worst enemy. Themes are very powerful, but in many cases they're the only place where specific output can be changed without hacking core. Because of this, themes on highly customized production sites can easily turn into code-monsters, carrying the weight of making 'Drupal' look like 'My Awesome Site.'

This can make maintenance difficult, and it also makes sharing these tweaks with other Drupal developers tricky. In fact, some downloadable modules also come with instructions on how to modify a theme to 'complete' the module's work. Wouldn't it be great if certain re-usable theme overrides could be packaged up and distributed as part of any Drupal? As it turns out, that is possible. In this article, we'll be exploring two ways to do it: a tweaky, hacky approach for Drupal 5, and a clean and elegant approach that's only possible in Drupal 6.

Theming Best Practices (Garland Gets a Cleanup)

Yesterday Garland got a long-overdue update: The page.tpl.php file was updated to use best practices. Now we can finally open up Garland in a workshop scenario and not have to use it as example of the bad practices within a .tpl.php file. This article applies to Drupal 6 and higher, though the theming principles apply to all versions of Drupal.

What's this about best practices? Let's compare the before and after of a few of the improvements. Each of the items below are extremely common things you can do to keep your .tpl.php files clean.

Drupal Podcast No. 55: John Albin Wilkins and the Zen Theme

78:35 minutes (18.66 MB)

Jeff Robbins interview John Wilkins about the Zen theme and the other work he's done with Drupal.

Syndicate content