Magento supports unparalleled theme flexibility and sophistication that allow for incredibly custom branding while still retaining development efficiency and upgrade compatibility. In particular, the theme asset fallback system allows theme developers to only modify the parts of a theme which actually need to be customized. This feature also enables merchants to quickly deploy stylized stores while still retaining features developed for the overall brand.
Current Fallback Structure
Magento Enterprise 1.14 and Community 1.9 introduced a new, more flexible theme fallback mechanism. Each theme can now specify its parent, which can then specify its parent, and so on. This theoretically allows infinite fallback levels instead of the fixed number of fallback “slots” in older versions.
As powerful as this concept is, the core code powering it is relatively straightforward.
While loading the current area in a controller’s preDispatch() method, a singleton instance of
Mage_Core_Model_Design_Config is instantiated. This class’s constructor scans all themes for an etc/theme.xml file, and loads the contents into a in-memory config instance.