查找客户的首次登录

San*_*raj 5 magento

Magento 1.6。

在登录处理代码中,是否可以找出用户/客户首次登录的时间?

Jür*_*len 2

如果您的 Magento 配置为使用双重选择加入(电子邮件确认)进行客户注册,那么您可以使用 @PauGNU 已经发布的内容:

$created_at = $customer->getCreatedAt();
Run Code Online (Sandbox Code Playgroud)

但是当涉及到双重选择加入时,Magento 会立即创建客户帐户,即设置created_at为当前系统时间,但不会激活它(以便客户在确认之前无法登录),并且仅发送确认邮件。

created_at这意味着第一次登录之间存在未知的延迟(分钟、天、周等) ,因此created_at不再有用。

实际上,Magento一个默认跟踪客户登录时间的地方:例如,log_customer.login_at可通过 访问的表字段 。Mage_Log_Model_Customer

但是,如果您打算使用它:

  • 默认情况下,该类没有方法来获取第一次登录。您需要自己开发它。
  • 如果“日志清理”处于活动状态(以保持数据库较小),您将失去保存的登录时间。

在这种情况下,我更愿意确定最合适的事件,挂钩它并仅将每个客户的第一次登录时间保存到单独的表中。