Проблемы с hook_user и перенаправлением выхода из системы в Drupal - PullRequest
1 голос
/ 16 марта 2011

Хорошо, поэтому я пытаюсь настроить другое место выхода из системы, кроме главной страницы, с помощью следующего модуля:


function mymodule_user($op, &$edit, &$account, $category = NULL) {
  switch ($op) {

    case 'logout':

        $_REQUEST['destination'] = 'user';

      break;

    default:

      break;
  }
}

Было бы неплохо, если бы я мог перенаправить пользователей на моем сайте обратно в форму входапосле того, как они выйдут, но это не похоже на работу.Я попробовал новую установку и, похоже, не смог заставить ее работать там.

Я что-то здесь упускаю?

Редактировать:

Кажется, я могу разместитьслучай для изменения имени входа, и это работает, но выход из системы, похоже, не срабатывает таким же образом, даже без случая для входа в систему:


function mymodule_user($op, &$edit, &$account, $category = NULL) {
  global $user;
  switch ($op) {

    case 'logout':

        drupal_goto('user');

      break;
    case 'login':

        $dest  = $arr[0];
        $_REQUEST['destination'] = $dest;

      break;

    default:

      break;
  }
}

Ответы [ 3 ]

2 голосов
/ 19 мая 2011

Вы можете добавить:

unset($edit['destination']); 

После того, как:

$_REQUEST['destination'] = $dest;
1 голос
/ 16 марта 2011
function MY_MODULE_user($op, &$edit, &$account, $category = NULL) {
  global $user;
  switch ($op) {
    case 'logout':
      drupal_goto('user');
      break;
  }
}
0 голосов
/ 16 марта 2011

Вы можете использовать это с Правилами вместо кода.

Но если он не работает, возможно, существует drupal_goto (), создающий помехи в другом месте.

Вы также должны вызвать сторожевой вызоввнутри случая выхода из системы, чтобы знать, что ваш крюк выстрелил.

...