好的,所以我尝试使用以下模块自定义除了首页之外的其他注销目的地:
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;
}
}
答案 0 :(得分:2)
您可以添加:
unset($edit['destination']);
后:
$_REQUEST['destination'] = $dest;
答案 1 :(得分:1)
function MY_MODULE_user($op, &$edit, &$account, $category = NULL) {
global $user;
switch ($op) {
case 'logout':
drupal_goto('user');
break;
}
}
答案 2 :(得分:0)
您可以将其与规则而不是代码一起使用。
但是如果它不起作用,可能会有一个drupal_goto()干扰其他地方。
你还应该在注销案例中放入一个看门狗调用,以便知道你的钩子被解雇了。