Prestashop Starter Theme / Boilerplate

I do a lot of work using both PrestaShop and WordPress and a big difference I find between the two is support for developers.

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’

Last summer Prestashop wrote on their blog that they were to include a ‘Skeleton Theme’ alongside the upcoming Prestashop 1.5.

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.

Unnecessary bloat

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.

HTML5 Support

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.

HTML5 Boilerplate

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.
  • Stripped of any optional CSS / Javascript so the developer is free to use the tools they are comfortable with.
  • 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.

Get involved

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.

Get in touch

If you have any thoughts the Starter Theme, get in touch with me either via my e-mail listed address below, Twitter, or message me via GitHub.

By Mark Hesketh

I'm a PHP Developer based in UK, building modern PHP web applications and writing about everything I learn.