As it stands, Prestashop Theme developers have to hack away at the default theme each time they begin a new project. In contrast WordPress Theme developers have a choice of several starter themes available if they'd prefer to not work on TwentyEleven yet again.
Developing a Prestashop Theme
This got me thinking about a starter theme or 'boilerplate' for Prestashop, a starting point for theme development featuring reusable code and best practice methods related to Prestashop theming.
Using the default theme
Though the default theme demonstrates the functionality of Prestashop very well, I've never liked it as a theme.
There's many parts of it that I think are a complete mess. Using this as a baseline for a new theme hinders creativity, and this can be seen on the Prestashop Addons store where so many themes have stuck to the default blueprint.
Prestashop's proposed 'Skeleton Theme'
This is great news and a step in the right direction, and while there's some nice looking features such as multiple template layouts (think Templates in WordPress) and configuration variables, there was a couple of things I wasn't so thrilled about.
Vincent Augagneur mentions that the theme would include the 960gs and jQuery UI. Both are great tools, but in my opinion this makes an assumption about what the designer/developer will be creating and working with.
The theme developer may wish to use a grid they're familiar with, something custom built as I did for this website, or no grid at all. The 960gs then becomes bloat, and something extra to remove.
The same is true if you don't actually use jQuery UI's features, it's just slowing down your theme and another thing to remove.
At a certain point you may find yourself removing features of the 'starter' theme, as you would have done with the default theme.
I'm making an assumption here as the Skeleton Theme has yet to be released, but based on the new default Prestashop theme there's a good chance that it won't be utilising HTML5.
This isn't a huge deal, just a personal preference, as I have been using HTML5 on production websites for some time now, including Prestashop stores.
Ideally I'd like to see a starter theme that utilises all the HTML5 goodness that is ready to use right away, and get people off on the right foot, just as HTML5 Boilerplate does.
A Prestashop Starter Theme / Boilerplate
In response to this I've set up a GitHub repository, to build a (re)usable starting point for developing Prestashop Themes.
Some key points & ideas
- Semantic and valid HTML5 markup.
- Encourage 'best practices' for speed/performance.
- Complete documentation on each template file, and default variables available to each.
Currently I'm focusing on Prestashop 1.4 as a release date for Prestashop 1.5 has yet to be officially announced.
I'd previously asked Prestashop about a 1.5 released date and they said they were aiming for November 2011. As that's now long been and gone, I thought it best to get started rather than wait for what might be on the horizon. When Prestashop 1.5 becomes available I will adapt the theme as appropriate.
You can follow the progress and download the theme on GitHub: https://github.com/heskethm/Prestashop-Theme-Boilerplate
I'm at very early stages at the moment, but I hope to get things underway and push out a working version over the next month.
If you create Prestashop Themes I'd love to hear any ideas you may have regarding what should be implemented or removed.
Additionally, I'd like to encourage you to get involved, if you're a Git/GitHub user fork the Repository and you can contribute to the project.