Magento Rebranding
First to say that I’m not promoting this, and not even sure if this is something that is supported and allowed by Magento license. But, I was interested in a subject, explored a bit and found out that it is possible, so here is the explanation.
I was curious if it is possible to change the default theme of Magento installation process. Specially when I saw that in /app/design/install folder Magento has standard package/theme structure. I found that this is higly needed for somebody developing it’s on application based on Magento, but still wishing to offer it’s own admin design at least. Again, I’m not sure that this is allowed by Magento licence, so you’ll have to check that with Magento if you wish to apply this technique.
Anyway, after small research in Magento code, I was able to run installation process with my own package/theme structure, loading my own layout/templates and skin files.
The solution was really simple, the trick is in overwritting Mage_Install_Controller_Action.php file in local code pool, changing package and/or theme name in class _construct function. Something like this:
class Mage_Install_Controller_Action extends Mage_Core_Controller_Varien_Action
{
protected function _construct()
{
parent::_construct();
Mage::getDesign()->setArea('install')
->setPackageName('default') // change this to your package name
->setTheme('default'); // change this to your theme name
$this->getLayout()->setArea('install');
$this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true);
}
}
After that, you only need to create your package/theme folder structure in app/design/install and skin/install folders and apply your changes updates. The same layout behavior is applied as for custom frontend package/theme. If you create custom theme you can start with blank folder, if you create custom package you have to copy default theme folder inside your package folder.