Recent Posts


What is a Magento Theme, the 10,000 Foot View


Frustrated by Magento? Then you’ll love Commerce Bug, the must have debugging extension for anyone using Magento. Whether you’re just starting out or you’re a seasoned pro, Commerce Bug will save you and your team hours everyday. Grab a copy and start working with Magento instead of against it.

Updated for Magento 2! No Frills Magento Layout is the only Magento front end book you'll ever need. Get your copy today!

So what is a Magento 2 theme? To understand that, we’ll first need to talk about the Magento_Theme module.

The Magento_Theme module contains page layout XML files that define the basic containers for every Magento page layout.

This allows other Magento modules to use layout handle XML files to

By itself, all of the above is enough to build a Magento 2 site. Also, thanks to Magento’s infamous flexibility, it would also be possible “theme” – that is, change the appearance of – a Magento system strictly using modules.

However, Magento module programming is not a skill that’s within the grasp of the average interactive agency developer. This became exponentially more true in Magento 2.

The purpose theming in Magento 2 is the simplifying the modification of a Magento site. A theme will allow you to

  1. Add, or replace, additional translation strings for Magento’s __ localization function

  2. Specify the height and width for named Magento image assets

  3. Replace any front end asset files added by a Magento module

  4. Replace any email template file

  5. Add files for Magento’s //@magento_import LessCSS directive to consume

  6. Add additional layout handle XML files to merge when Magento merges a specific module’s layout handle XML

  7. Override a module’s layout handle XML file

The important take away is this: From a cultural point of view, Magento and traditional PHP CMS developers may think of themes as the way to change Magento’s appearance.

However, from a functionality and engineering point of view, themes are designed to allow less experienced developers to change the behavior of Magento’s core system modules without creating new PHP modules.

Copyright © Alan Storm 1975 – 2022 All Rights Reserved

Originally Posted: 30th March 2017