Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在drupal中更改用户登录页面_Drupal_Redirect_Login - Fatal编程技术网

如何在drupal中更改用户登录页面

如何在drupal中更改用户登录页面,drupal,redirect,login,Drupal,Redirect,Login,当用户在地址栏中键入www.mysite.com/user时,如果已签名,我想重定向到users/user;如果未签名,我想重定向到www.mysite.com/login 好的,您可以在自定义模块中实现hook_init(),检查用户是否登录,然后使用drupal_goto()重定向到user/$user->uid(不要使用别名,drupal_goto()将为您查找该别名)或user/login function yourmodule_init() { global $user; if

当用户在地址栏中键入www.mysite.com/user时,如果已签名,我想重定向到users/user;如果未签名,我想重定向到www.mysite.com/login

好的,您可以在自定义模块中实现hook_init(),检查用户是否登录,然后使用drupal_goto()重定向到user/$user->uid(不要使用别名,drupal_goto()将为您查找该别名)或user/login

function yourmodule_init() {
  global $user;
  if ($_GET['q'] == 'user') {
    if ($user->uid > 0) {
      drupal_goto('user/' . $user->uid);
    }
    else {
      drupal_goto('user/login');
    }
  }
}

您还可以使用hook\u menu\u alter()来替代“user”的页面回调。

除了user/login(除非您为该页面添加了别名)之外,这就是实际情况吗?好的,我知道,但我创建了自定义页面(page login.tpl.php)现在我有两个页面用于登录www.mysite.com/user和www.mysite.com/login,具有威慑风格。我希望用户不能登录用户,或者当用户键入www.mysite.com/user时不显示感谢,这将在每次页面加载时重定向用户。已修复,只需添加一个条件以防止它在每个页面上运行;)