AdaptiveThemes Blog

Adaptive Themes to ship with Built in Administration Theme

We are happy to announce that we have developed an administration style "theme" that will ship with all professional Drupal themes for sale on this site. The important thing to note is that it's not a separate theme, but built into the base theme and is toggled on and off in the theme settings.

The admin pages are styled more like a traditional CMS admin section, so the normal front end theme does not get in the way of content management or administrative operations.

AdaptiveThemes Client Services Rollout August 8th

On August 8th AdaptiveThemes will begin offering client services, principally custom design and theme development for Drupal. This is just one week after the launch of our new commercial themes Ubercart store so its a busy period for us.

Currently we have 31 designers and 9 professional themers with a wide range of development and design skills, so we are able to deliver on almost any design brief or theme development requirement.

AdaptiveThemes - New designs added daily

Calling all designers and themers, new designs are being added daily and we need more pro themers to join the project!

We have some really great designers coming on-board now (around 30) and it would be great to have their designs ported and ready to fly off the shelves come August 1st when the Pro Themes Shop opens.

Summer Workspace Essentials

Your workspace is your castle eh? Just thought I'd share my workspace with you, mind you this is just the Summer office, but it ain't half bad!

Crowd Sourcing Drupal Themes - Lets get this party started!

Today AdaptiveThemes.com relaunched as the first crowd sourced commercial themes provider for Drupal. The concept is simple, designers upload designs and themers port them to Drupal, everyone gets paid a slice of the pie each time the theme sells. That slice is split evenly between the designer and the themer, with a small portion deducted for business and running costs.

3rdWorld themes, going while they are hot

The first two weeks of 3rdWorld themes, my new project aiming to port hundreds of Wordpress and Joomla themes to Drupal, has been a resounding success. Traffic to the site has been more than I ever could have hoped for and I've had some really great feedback, not only from happy end users, but also from the original authors of the themes.

Free High Quality Themes for Drupal

Today I launched a new project that will port hundreds, probably thousands of Joomla, Wordpress and other CMS themes to Drupal.

3rdWorld Themes will become the home of a large repository of free, high quality ported-to-Drupal themes.

The idea has been nearly a year in the making. Phase one was the development of a highly flexible and extensible starter theme called Genesis. I needed a theme I knew like the back of my hand and that I could bend and twist to suit most themes. Unknown to most of you I also built a rather wicked grids based starter-theme but caught a lucky break when Ninesixty came on the scene. I mention these two themes because all the themes at 3rdWorld will be subthemes, either of Genesis or Ninesixty. UPDATE: I have added both Zen and Blueprint themes as possible base theme for subthemes, this should open it up to more themers and provide some competitive spirit:)

Genesis DARK Starter Subtheme

As part of the continuing innovation of the [Genesis starter theme ](http://drupal.org/project/genesis)I have developed a dark style starter theme. This new starter subtheme will be included in the Genesis base theme along with the other two starter subthemes. Additionally I have renamed the old genesis_LITE theme to genesis_ULTRALITE to avoid confusion (the ULTRALITE subtheme simply has less HTML and is nothing to do with style).

For those of you not familiar with the term "dark", it refers to negative style themes where the background is black or other dark shade and the text is light colored.

Use Icons for Node and Comment Links

A lot of people want to replace the boring links text with sexy icons. The easiest way to get this done is using an accessible image replacement technique. There are lots of IR methods that have been developed over the years and I'm going to show you one that I use all the time and works in all browsers, and most importantly is accessible to screen readers.

Element Styling Cheat Sheet

When I'm building a new theme at some point I like to style all the html elements in one shot. Often designers will send me a style guide with references to all manner of things so this gives me a chance to set some defaults from which I can then build on.

You might call this a "tip from a pro", but this is something all budding themers can make use of, and save yourself a few minutes as well.

WTF are Gpanels?

Gpanels are drop in multi-column snippets for displaying blocks in vertical columns, such as 2 columns, 3 columns or 4 columns. Gpanels are an optional extra that come with the Genesis starter theme.

Gpanels are fluid, meaning they stretch and compress with the page width because they are built with percentages, this is similar to how regular Panels work although the layout method is quite totally different.

The Gpanels come in four delicious flavours...

Strike Back with Stylestripper

Almost as hot as a real stripper [Stylestripper](http://drupal.org/project/stylestripper) is a small module that allows you unset any stylesheet in Drupal—core or contrib.

The bane of my theming existence are modules that load their own stylesheets. Of course some simply must "load their own". Admin menu would be pretty useless without one, so would Views UI. But some stylesheets IMO verge on being a total waste of time, take comment.css for example...

Starter Theme Performance Metrics

When we think about factors determining our choice of Starter theme how often do we think of performance? I'd hazard a guess very few consider factors such as database queries and memory usage, whereas we are more inclined to be interested in ease of theming, documentation and support.

These tests compare 6 Drupal starter themes—Stark, Framework, Ninesixty, Zen and both Genesis starter subthemes (6.x-2.x-dev). For these tests each theme was in "live production mode", meaning that any registry rebuild features were disabled and for Ninesixty the debug stylesheet was unset.

I have been performance testing my themes for quite some time. I thought it might be interesting to see how they stacked up against some of the other starter themes, at least to show the differences by comparison. However that is not the focus of this report. There is no intention of stating which is the best starter theme, nor are these tests exhaustive. Indeed there are some glaring ommissions, such as size of JavaScript files and the comment.tpl.php is not factored into total page weight.

Those things aside this is at least an interesting comparison and I hope to encourage you to factor in performance when making your starter theme selection.

Equal height columns in Genesis

The [Genesis starter theme](http://drupal.org/project/genesis) (6.x-2.x) comes with a jQuery plugin to make equal height columns a breeze. Usage is completely optional and all you need to do is uncomment the script in genesis.info, clear cache data in Performance settings and it will work.

The savvy amongst us will note that the plugin can be re-used and is not necessarily just for equalising the height of columns. You could just as easily re-purpose this for any set of boxes.

Why title = $title is Bad

The [title attribute](http://www.w3.org/TR/html4/struct/global.html#h-7.4.3 "Further reading, Title Attribute definition from the W3C, 'The Global Structure of an HTML document'") is something that's been around longer than most of us can remember and its become one of the most commonly used, if not abused, attributes.

As far back as I care to look (4.7, 5 & 6) ) Drupal's default node template has included a title attribute in the node title link (the one that normally appears on teasers wrapped in an <h2> heading). [Drupal 7](http://cvs.drupal.org/viewvc.py/drupal/drupal/modules/node/node.tpl.php?...) hasn't learnt from this past mistake either.

Why we must Reset ol and ul Elements

Some things are so obvious and well known to the seasoned developer that they never think twice about them. On the other hand web-dev neophytes struggle with the basic *how to*, leaving little or no time for the *why*. This is a shame. Deep understanding can only come with knowing the *why*. Why is what makes us wise.

We know that browsers handle lists differently and certainly [Eric Meyer's reset](http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/), [Tripoli](http://devkick.com/lab/tripoli/tripoli.base.css) or the [universal selector reset](http://reference.sitepoint.com/css/universalselector) will make short work of that. However, therein lies a problem.

POSH Reference in a Nutshell

A quick fire list of semantic (X)HTML elements with brief notes on usage. POSH is the acronym for Plain Old Semantic HTML. POSH gives us an easy to remember acronym that encapsulates the simplicity, best practice and benefits of using semantic markup. You can learn more about POSH on microformats.org.

Theme Developers Toolbox

For those just getting started in Drupal development peering into another developers tool-box-of-tricks may reveal a work flow not previously considered, and software never heard of. Frankly I'm pretty run-of-the-mill but I do have my favourites apps I just can't break free of.

Dynamically Styling Modules and Blocks

*This is the fourth and final article in the series of Packpub Drupal theming articles from their new book Drupal 6 Themes—Dynamically Styling Modules and Blocks in Drupal 6.*

The default templates and themable functions supply much of the key output on a Drupal site, and many are positioned on the page through the assignment of blocks to regions. In this article, we want to look at how you can control the formatting of a site's various modules and blocks.

Remember, *suggestions only work when placed in the same directory as the base template*. In other words, to get `block-user.tpl.php` to work, you must also place `block.tpl.php` inside in the same directory.

Pages