What is theming?
The short answer is that theming is the process of making a site your own.
A dynamic enterprise-level site runs on a content management system (CMS), which takes reusable pieces of data and puts them together to create each page. This keeps the site consistent and makes it easy for non-developers to manage the content. However, the standard layouts for CMS sites are very generic and bland. To make a dynamic site exciting and unique, special attention and effort need to go into theming.
Theming pulls together the graphic designer's vision, the content layout requirements, and the CMS nuts and bolts. Done well, this allows the site to have the best of all worlds…
- a consistent, unique look and feel,
- an exciting user experience, and
- an efficient internal workflow focused on creating new content
Blog posts tagged with 'theming'
You Asked, We Themed - The slides
Has it been a month and a half already? My, how time does fly during Beta Launch season! 
The tshirts and books have been sent, but despite our best intentions we've been remiss in getting our presentation into a format that we could share with you.
Finally, our slides and annotated examples have been rolled up into a PDF you can download and read for yourself.
This PDF has our slides and examples used in the presentation...full details will be in our pending whitepaper.
Enjoy!
You Ask, We'll Theme! (Free Drupal books, too!) - Now Closed
For more theming questions and answers, check out: www.themingchallenge.com
***Our call for questions is now closed! Thank you very much for all your ideas...we're off to review your suggestions and choose which ones we'll use for our session. Stay tuned to see if your question is selected!***
At this December's Do it with Drupal conference, Tree House devs Joshua Katris and myself (Sean Buscay) will give a session showing how to overcome tricky theming challenges in Drupal. We thought it would be fun to turn things around a bit, and let the challenges come from the Drupal community!
Ask us anything
Now through November 2nd, we are taking questions from Drupallers all around the internet. We want to know what's got you stumped when it comes to Drupal theming...jQuery got you down? Your designer's favorite style elements freaking you out? Advanced Views and Panels features making you dizzy? Now's your chance to give it to someone else to figure out!
Theming Rule #2: Define and Use Globals
Check out the first two posts in this series:
- Your Site’s Three Tiers: Content, presentation, theming!
- Theming Rule #1 – Separate presentation from content
The second rule in our series is to always define and use globals.
When it comes to your site, you can think of globals as "the things that change the least"--they are the core rules and elements of your site's look and feel. The three main things that we are thinking of here are:
- Rules for XHTML structures and use
- Default site styles (CSS)
- Standard interface conventions
Rules for XHTML structures and use
Consistent use of XHTML throughout the site allows for more consistent application of your theme's styles and neater overrides.
Theming Discussion Tonight
If you got to our talk at Web 2.0 Expo today, or even if you didn't and still have some questions about what theming is, don't fret! We'll be having a Birds of a Feather meeting to talk all things theming.
The meeting will be tonight at 7 PM in Boardroom B at the Hudson Hotel. You can check out all the scheduled BoF sessions on the Web 2.0 Expo site at http://en.oreilly.com/webexny2008/public/schedule/stype/bof.
Theming Rule #1 – Separate presentation from content
The first key rule in this theming process is that there should be a strict separation of content and presentation. This means that the logic for putting together page data and the code wrapping this data in the presentational XHTML should be kept as isolated from each other as possible.
There are some very good reasons for this.
Keeping the poets out of the accounting
The first is that keeping data logic and presentational code strictly separated lets developers work within their respective skillsets. Back-end developers only need to concern themselves with database management, data logic, and query optimization, while front-end developers do not need to navigate this code to apply the XHTML structure. The themer uses their own dedicated functions as a sandbox for applying the front-end code to the back-end data.
Server-side gurus don’t have to write XHTML, and front-end experts don’t have to mess around with data logic. This helps to preserve the quality of code and reduce mistakes and reworking.
Adapting to new needs
Your Site’s Three Tiers: Content, presentation, theming!
Most people would consider CMS-based site development as having two key layers, or tiers—content and presentation. Your content is your data, data relationships, and raw assets, while your presentation is your design, XHTML, CSS, and Javascript. These two tiers are stitched together to create a template and themed site.
We have found, though, that this perfunctory approach to theming misses out on some very powerful benefits.
Drupal, our usual platform of choice, inherently provides tools and conventions dedicated to theming. These tools inspired the realization that theming is most powerful when treated as a critical process separate from and as important as the processes for creating content and presentation.
In this approach, theming involves more than combining the content and presentation. The three-tier approach adds a “theming” tier to content and presentation. Just as presentation and content have dedicated roles associated with them (designers and front-end developers for presentation and back-end developers for content), the theming approach we advocate requires a themer role for successful execution.
Headlines
Stay Connected
Prefer email updates?
Categories
Blog Archive
- February 2010 (1)
- January 2010 (3)
- December 2009 (5)
- October 2009 (2)
- June 2009 (6)
- May 2009 (2)
- March 2009 (6)
- January 2009 (1)
- December 2008 (2)
- November 2008 (1)
- October 2008 (6)
- September 2008 (5)




