2011-03-16 1 views
1

좋아요, 다음 모듈을 사용하여 FrontPage 이외의 다른 로그 아웃 대상을 사용자 정의하려고합니다.hook_user 문제 및 Drupal에서 로그 아웃 재 지정

 
 
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; 
    } 
} 
 

답변

1
function MY_MODULE_user($op, &$edit, &$account, $category = NULL) { 
    global $user; 
    switch ($op) { 
    case 'logout': 
     drupal_goto('user'); 
     break; 
    } 
} 
+0

은 =/ – duobuddy

+0

가 'YORMODELENAME' – dobeerman

+0

덕분에 '통계'를 대체 설치! 이것은 굉장합니다 :) – Oranges13

0

코드 대신 규칙에 사용할 수 있습니다.

그러나 작동하지 않는 경우 다른 곳에서 방해하는 drupal_goto()가있을 수 있습니다.

또한 로그 아웃 케이스 내부에 워치 독 호출을 넣어 연결이 끊어 졌음을 확인해야합니다.

+0

로그 아웃 케이스가 해고 된 것처럼 보이지 않습니다. – duobuddy

+0

drupal_goto는 다른 모듈을 사용할 수없는 상태에서 신선한 사이트를 방해하는 위치는 어디입니까? – duobuddy

+0

디버그 문을 넣고 로그 아웃 할 때 $ op가 무엇인지 확인할 수 있습니까? 이 사건은 실제로 '로그 아웃'입니까? 이전에이 훅에 문제가 있었던 것을 기억하지만 로그인/로그 아웃시 리디렉션에 대한 규칙이 작동합니다. – Kevin

2

당신은 추가 할 수 있습니다 :

unset($edit['destination']); 

후 : 깨끗한 작동하지

$_REQUEST['destination'] = $dest;