【问题标题】:How to distinguish between new and returning anonymous Drupal users?如何区分新的和返回的匿名 Drupal 用户?
【发布时间】:2011-01-14 18:26:38
【问题描述】:
Drupal 中是否有一种简单的方法(或模块)来区分从未创建帐户的匿名用户与返回但当前未登录的匿名用户?
对于非回头客(即全新的)用户,我希望有一个非常精简的首页,并专注于注册作为号召性用语。但是,如果某人是返回用户但当前未登录,我想在首页显示更多信息,并将登录作为主要的号召性用语。我意识到这两个页面仍然需要同时提供登录和注册选项,我只是想让两者的焦点明显不同。
【问题讨论】:
标签:
php
drupal
session
cookies
registration
【解决方案1】:
返回 Drupal 用户有一个 cookie。新用户还没有。您可以在 Drupals 会话信息中四处寻找,例如
$_SESSION['pirate'] = array('hello' => 'Ahoy!');
但是,Drupals 提供的帮助很少,并且给实现者留下了很多东西(显然,这经常被忽略)。诸如垃圾收集、通过 ip 更改的会话等。
为此,我建议使用一个小而有用的 API 模块,它只是简单地封装了 Drupal-core 中太低级的会话 API,并使其易于使用:session api。
请注意,由于您在 stackoverflow 而不是 webmasters 上提出了这个问题,我假设您正在寻找一种在您正在开发的模块中使用它的方法。 Session API 为模块开发人员提供了一个 API,它没有提供不需要 php 的交钥匙解决方案。