質問
私はこれをルールにしてみましたが、使用しました hook_user
運がない。それは間違いなくログインケースの中に入ります(ウォッチドッグログがありました)が、リダイレクトは発生せず、それらはまだ送信されます /user
ログインすると。
私は運がなくてこれを試しています:
/**
* Implementation of hook_user()
*/
function multistep_registration_user($op, &$edit, &$account, $category = NULL) {
switch ($op) {
case 'insert':
multistep_registration_save_content_profile_name($account);
break;
case 'login':
if (!multistep_registration_is_complete($account->uid)) {
drupal_goto('user/register/complete-registration');
exit;
}
break;
default:
break;
}
}
function multistep_registration_is_complete($uid) {
if ($uid == 1) {
return TRUE;
}
$node = content_profile_load('profile', $uid);
if ($node->field_completed_registration[0]['value'] == 'yes') {
return TRUE;
}
return FALSE;
}
なぜリダイレクトしないのですか?新しいユーザーはすべて、「いいえ」として値を設定しています。
解決
使用してみてください logintoboggan, 、ログインでリダイレクトを設定できます。
他のヒント
使用する方法の1つは使用です ルール. 。次のルールを作成できます。
- ユーザーはログインしました。
- ユーザーはコンテンツプロファイルを完了していません(特定のコンテンツタイプを選択できます)。
- アクションを実行します:ユーザーを必要なURLにリダイレクトします
それが役に立てば幸い!
編集:ユーザーがページを表示し、必要な役割を持ち、リダイレクトしたときにそれを作成することもできます。そうすれば、それは彼らにそれを埋めることを強制し、彼らが他のことをすることを許可しません(あなたがそれが必要な場合)。
私が使う ログイン宛先 私のサイトでログインした後にリダイレクトする。 PHPスニペットを使用して特定の状況の条件を作成する機能があることは知っていますが、使用したことはありません。
これを回答形式にするだけです。コンテンツプロファイルによって提供されたルールが利用できない場合でも、ルールを使用してこれを行うことができます。
「ユーザーがログインしている」トリガーを使用して、関心のあるフィールドが空でリダイレクトされる条件を追加します。
所属していません drupal.stackexchange