Frage
Ich habe versucht, dies zu einer Regel zu machen und zu benutzen hook_user
ohne Glück. Es kommt definitiv in den Anmeldefall (hatte ein Watchdog -Protokoll), aber die Umleitung kommt nicht vor und sie werden immer noch an gesendet /user
Nach Anmeldung ein.
Ich versuche das ohne Glück:
/**
* 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;
}
Warum leitet es nicht um? Neue Benutzer haben alle den Wert als "Nein".
Lösung
Sie könnten versuchen, es zu verwenden Logintoboggan, Sie können eine Weiterleitung für die Anmeldung einstellen.
Andere Tipps
Eine Methode, die wir verwenden, ist die Verwendung Regeln. Es ermöglicht Ihnen eine Regel für:
- Der Benutzer hat sich gerade angemeldet.
- Der Benutzer hat das Inhaltsprofil nicht abgeschlossen (Sie können den bestimmten Inhaltstyp auswählen).
- Treiben Sie eine Aktion für: Benutzer in URL umleiten, die Sie möchten
Ich hoffe es hilft!
Bearbeiten: Sie können es auch schaffen, wenn ein Benutzer eine Seite ansieht und eine Rolle hat, die Sie möchten, um sie umzuleiten. Auf diese Weise zwingt es sie, es auszufüllen, und erlaubt ihnen nicht, etwas anderes zu tun (wenn Sie das wollen).
ich benutze Anmeldeziel Nach Anmeldungen an meinen Websites umleiten; Ich weiß, dass es die Möglichkeit hat, PHP -Snippets zu verwenden, um Bedingungen für bestimmte Situationen zu erstellen, aber ich habe sie nie verwendet.
Ich werde dies nur hier in Antwortformular einsetzen, Sie können dafür Regeln verwenden, auch wenn die durch Inhaltsprofil bereitgestellte Regel nicht verfügbar ist.
Verwenden Sie einfach den Trigger "Benutzer hat sich in" Anmeldung angemeldet ". Fügen Sie Bedingungen für die leeren und umgeleiteten Interessensfelder hinzu.