2011-01-14 6 views
1

Gibt es einen einfachen Weg (oder ein Modul) in Drupal, um zwischen anonymen Benutzern zu unterscheiden, die noch nie ein Konto angelegt haben, und denen, die zurückkommen, aber gerade nicht eingeloggt sind?Wie kann man zwischen neuen und zurückkehrenden anonymen Drupal-Benutzern unterscheiden?

Für nicht wiederkehrende (dh völlig neue) Benutzer möchte ich eine Titelseite haben, die sehr schlank ist und sich auf die Registrierung als Call-to-Action konzentriert. Wenn jemand jedoch ein wiederkehrender Benutzer ist, aber momentan nicht eingeloggt ist, würde ich gerne mehr Informationen auf der Startseite präsentieren und sich als Haupt-Call-to-Action anmelden. Mir ist klar, dass beide Seiten immer noch sowohl Login- als auch Registeroptionen haben müssen, ich möchte nur den Fokus deutlich zwischen den beiden unterscheiden.

+3

Sie könnten versuchen, einen Cookie zu setzen. –

+0

Cookies !!!!!!!!!! – dqhendricks

Antwort

1

Zurückkehrende Drupal-Benutzer haben einen Cookie. Neue Benutzer tun das noch nicht. Sie könnten in Drupals Sitzungsinformationen herumzuzustochern wie

$_SESSION['pirate'] = array('hello' => 'Ahoy!'); 

jedoch Drupals wenig Hilfe bieten und lassen viel zu den einem Implementierung (die offensichtlich viel zu oft ignoriert wird). Dinge wie Müllsammlung, Sitzungen durch IP-Änderungen und so weiter.

Dafür würde ich ein kleines, aber nützliches API-Modul empfehlen, das einfach die viel zu niedrige Session-API in Drupal-Core umschließt und es angenehm macht mit zu arbeiten: session api.

Beachten Sie, dass, da Sie diese Frage auf stackoverflow und nicht auf Webmaster gestellt haben, nahm ich an, Sie suchen nach einer Möglichkeit, dies in einem Modul zu verwenden, das Sie entwickeln. Die Session-API bietet Modulentwicklern eine API, sie bietet keine schlüsselfertige Lösung ohne PHP.

+0

Ich werde das Session-API-Modul genauer untersuchen. Vielen Dank! Ich untersuche auch das Modul "Bekannte Benutzerrolle", das ebenfalls vielversprechend aussieht: http://drupal.org/project/known_user_role –