In magento 1.7.x and above login template is set in the layout xml file, so to change template is very easy.
How to achieve that in 1.5.x or 1.6.x where there are no layout xml and block and template is created on the fly in the controller?
See
class Mage_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action { protected function _outTemplate($tplName, $data=array()) { $this->_initLayoutMessages('adminhtml/session'); $block = $this->getLayout()->createBlock('adminhtml/template')->setTemplate("$tplName.phtml"); foreach ($data as $index=>$value) { $block->assign($index, $value); } $html = $block->toHtml(); Mage::getSingleton('core/translate_inline')->processResponseBody($html); $this->getResponse()->setBody($html); } public function loginAction() { if (Mage::getSingleton('admin/session')->isLoggedIn()) { $this->_redirect('*'); return; } $loginData = $this->getRequest()->getParam('login'); $data = array(); if( is_array($loginData) && array_key_exists('username', $loginData) ) { $data['username'] = $loginData['username']; } else { $data['username'] = null; } $this->_outTemplate('login', $data); }