The Joomla! Community Magazine™

Construct Template Development Framework

Written by | Wednesday, 01 June 2011 00:00 | Published in 2011 June
I'm a firm believer that it's the simple things in life that matter the most. I feel the same way about web sites, software design and development. I find that developing simple solutions which solve complex issues can be a good challenge. One of the biggest challenges one faces when creating "simple" is figuring out where simple stops and where complex starts. It's really a case of learning to tell yourself ‘no’, and that's very hard to do.
Construct Unified as seen with the Minima admin template for Joomla! 1.6 Construct Unified as seen with the Minima admin template for Joomla! 1.6

Long before template frameworks even existed, or at least before they were being marketed, I set out to scratch my own itch and create a reusable code base for creating one-of-a-kind, custom Joomla! templates. I never thought that I'd be creating a solution that other developers could use... that is, until I learned that there are many of us who think alike.

Construct is simple. It doesn't use any WYSIWYG interfaces, drag-n-drop solutions, nor does it even have an integrated menu system (there are many great modules that can do that). You must be able to write CSS to use it. Knowledge of HTML is useful, and some knowledge of PHP helps. The goal of Construct is not to provide a complete solution, but to provide a firm foundation to build upon.

Out of the box, implementing and using it is simple. It installs like any template and the simplest implementation only requires you to write a few lines of CSS that represent your unique styles. The file structure is also simple and follows the flow of a typical template. Everything else is already taken care of by Construct: browser resets, base typography and sizing, layout, template logic...etc. The base layout of the template (currently Pro and Unified versions) have 40 intuitively named module positions, using HTML5 inspired semantic names like ‘Header Above’, ‘Header Below’, ‘Column 1, 2, 3, 4’ so you don’t need a visual map to figure out where everything goes (http://bit.ly/semantic-module-names). Once you've written your unique styles, you can choose to take it further and override the core layout and create a custom layout for the entire template globally. You can also override the layout on a view, category, component, menu item and article level. You can have dynamically loading alternate layouts that automatically load. You can do the same with dynamically loaded custom style sheets so you can have varying styles that automatically load.

Construct also has built-in mobile device detection and loading a mobile version of the template, as well a mobile offline view. It starts with a very basic CSS view, that contains the essential page elements for mobile devices, which is progressively enhanced with iQuery mobile for modern devices. It also has tablet support. The detection script is written by a gentleman by the name of Anthony Hand of The Mobile ESP Project. It detects a wide variety of devices, not just the usual suspects, and it detects a lot of the outliers such as Google TV, Sony PlayStation, Nintendo Wii, a lot of the outliers, so they can all get the mobile view if you’d like them to.

Many designers are using Construct because they prefer to build from a base and customize it in their own personal direction. It takes care of probably 95%, 90% of the general work we do every time with a template, so it leaves the fun, creative stuff to you. The Molajo team and I are currently working on an HTML5 version, Babs Gösgens is also working on a version for MageBridge. With the layout override capability, you'll be able to drop in one, or a few, of these files and transform your template.

I am overwhelmed that Construct is a JAB 2011 J.O.S.C.A.R. winner. The credit goes to the Joomla! community. The feedback I get from everybody drives me to make Construct better. I greatly appreciate the feedback from Construct users, especially the developers who threaten harm to me if I add anything to it.

Construct is available at: http://joomlaengineering.com/ with the free and Molajo versions available at: https://github.com/betweenbrain

Read 16475 times
Tagged under Developers
Matt Thomas

Matt Thomas

Web developer, founder of betweenbrain.com, and developer of the Construct Template Development Framework.