drupal isn't recognising the page--user--login.tpl.php file. Tried clearing the cache. Still not working. I've never themed the user login page before. Any idea's?

I am running Drupal 7 and I want to theme the whole page. The other page template is being picked up. There isn't any other page--user--login.tpl.php in my theme directory

the page--user.tpl.php is being recognised but the page--user-login-tpl.php is not. bummer because i want the login page to be considerably different to the user page.

  • what version of drupal are you running?
    – Jimajamma
    Apr 29, 2013 at 14:52
  • What do wou want to change? The whole page or only the form?
    – Rufein
    Apr 29, 2013 at 14:53
  • I am running D7, and i want to theme the whole page.
    – Jeremy
    Apr 29, 2013 at 14:57
  • it's the correct template name then, are other page templates in the same directory being picked up? if there is another page--user--login.tpl.php file elsewhere in your theme's directory structure, that one might be being picked up instead.
    – Jimajamma
    Apr 29, 2013 at 15:00

2 Answers 2


This question is similar to https://stackoverflow.com/questions/8712061/style-drupal-7-log-in-page

It looks like you need to also have:

  • a page.tpl.php in your theme for page--anything-else.tpl.php to work
  • a page--user.tpl.php in your theme

You should also always clear the theme cache after adding/removing template files.

  • 1
    looked promising! gave it a go. couldn't get it to work.
    – Jeremy
    Apr 29, 2013 at 15:06
  • 2
    If it works the same way as node.tpl.php, you'll need page.tpl.php in your theme for page--anything-else.tpl.php to work (big if though, I haven't tried it)
    – Clive
    Apr 29, 2013 at 15:15
  • what was the issue?
    – Jimajamma
    Apr 29, 2013 at 15:31
  • ah ok. maybe i havent got it to work. the page--user.tpl.php file is being recognised however the page--user--login.tpl.php is still not being recognised.
    – Jeremy
    Apr 29, 2013 at 15:35
  • More about having page--user.tpl.php requirement to alter page--user--login.tpl.php --- It's not the exact case. Say, if you want to have a custom comment.tpl.php variation (comment--blog.tpl.php), then you do need the base template in the theme's template folder to work (at least I had to).
    – AKS
    Apr 29, 2013 at 16:21
 function themename_theme(&$existing, $type, $theme, $path) {
$hooks['user-login'] = array(
    'template' => 'templates/user-login',
    'render element' => 'form',
  return $hooks;

Add this code to your template.php file. Then you can create user-login.tpl.php.

Note: Don't forget to clear the cache

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.