2

我想获得我的客户的最后登录日期(在 Magento 上)。

我正在这样做:

$customer = Mage::getSingleton('customer/session')->getCustomer();  
$logCustomer = Mage::getModel('log/customer')->load($customer->getId());  
$lastVisited = $logCustomer->getLastVisitAt();

但它不起作用,结果为NULL

我的数据库中有一个名为“customer_log”的表,这个表是空的!此表包含列:“customer_id”和“login_at”。

你知道我是否必须在后台激活一个选项才能让它工作吗?

谢谢,对不起我的英语不好。

4

2 回答 2

1

您的表格customer_log没有出现在我的 Magento 1.3.2 安装中,但是有一个log_customer表格。它有log_id, visitor_id, customer_id, login_at, logout_at, and store_id. 该login_at专栏将为您提供您想要的内容。

// $lastVisited = $logCustomer->getLastVisitAt();
// becomes
$lastVisited = $logCustomer->getLoginAt();

这将返回 UTC 格式的 MySQL datetime(如2012-06-17 13:45:57),还有getLoginAtTimestamp()一种您可能更喜欢返回 Unix 时间戳的方法。

于 2012-06-25T14:50:24.373 回答
1

对我来说,这是最好的方法:

$customer = Mage::getSingleton('customer/session')->getCustomer();
$logCustomer = Mage::getModel('log/customer')->loadByCustomer($customer);
$lastVisited = $logCustomer->getLoginAtTimestamp();
$lastVisited = date('Y-m-d H:i:s', $lastVisited);
于 2013-07-15T12:29:59.893 回答