2011-03-16 47 views
1
hook_user和重定向註銷

好了,所以我想定製比下面的模塊了FrontPage等不同的註銷目的地:問題與在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 2011-03-16 02:59:39

+0

取代 '統計' 到 'YORMODELENAME' – dobeerman 2011-03-16 23:59:27

+0

謝謝!這是真棒:) – Oranges13 2011-09-07 15:45:33

0

您可以使用規則,而不是代碼中使用此。

但是,如果它不能正常工作,有可能是drupal_goto()其他地方的干擾。

你也應該放在一個看門狗電話註銷案內知道你的鉤發射。

+0

看起來不像註銷案例曾經被解僱。 – duobuddy 2011-03-16 17:09:50

+0

會在哪裏drupal_goto上一個新的網站,沒有其他模塊干擾啓用? – duobuddy 2011-03-16 18:21:57

+0

你可以把調試語句,看看$ op是什麼,當你註銷?這種情況真的是'註銷'嗎?我記得以前有過這個鉤子的麻煩,但規則適用於重定向登錄/註銷。 – Kevin 2011-03-16 20:04:40

2

您可以添加:

unset($edit['destination']); 

後:

$_REQUEST['destination'] = $dest;