ログイン時にユーザーをリダイレクトするモジュールを書いていますが、何も機能しません。これが私が試したものです hook_user_login :
submission.info
name = Submission
description = Handles Redirect to node/add/page on Login
core = 7.x
submission.module
function submission_user_login(&$edit, $account) {
//$_REQUEST['destination'] = 'node/add/page';
//$GLOBALS['destination'] = 'node/add/page';
//$edit['redirect'] = 'node/add/page';
drupal_goto('node/add/page');
}
変更してみてくださいdrupal_goto
with $ _GET ['destination']、例:
function submission_user_login(&$edit, $account) {
// Redirect user to to desired location.
$_GET['destination'] = 'node/add/page';
}
これがうまくいくことを願っています。
ログイン先 モジュールを使用して、ログイン後にユーザーをリダイレクトできます。このモジュールには、ユーザーのリダイレクトに関する多くのカスタマイズがあります。詳細については、モジュールのドキュメントをご覧ください。
Rules モジュールを使用して、これを非常に簡単に行うことができます。
ルールモジュールを使用すると、サイト管理者は、発生するイベント(リアクティブルールまたはECAルールと呼ばれる)に基づいて、条件付きで実行されるアクションを定義できます。
OR
以下のコードを使用して、hook_user_login実装内をリダイレクトできます。
function YOURMODULENAME_user_login(&$edit, $account) {
$GLOBALS['destination'] = 'node/add/page';
}
リダイレクトを実行するには、hook_drupal_goto_alterも実装する必要があります
/**
* Implements hook_drupal_goto_alter
*/
function YOURMODULENAME_drupal_goto_alter(&$path, &$options, &$http_response_code) {
// Note that this functionality cannot be backported do 6.x as Drupal 6 does
// not call drupal_alter for drupal_goto.
// This actually may be used also by templates.
if (isset($GLOBALS['destination'])) {
$destination = $GLOBALS['destination'];
// alter drupal_goto
if (is_array($destination)) {
$path = $destination[0];
$options = array();
if (count($destination) > 1) {
$options = $destination[1];
}
}
else {
$path = $destination;
}
}
}