2012-06-25 3 views
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'열이 있습니다.

backoffice에서 옵션을 활성화해야 제대로 작동하는지 알고 있습니까?

감사합니다. 나쁜 영어로 죄송합니다.

답변

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() 방법도있다.

+0

안녕 nachito, 내가 'customer_log'에 대해 얘기했다 죄송합니다, 그리고 'log_customer'. 그러나이 테이블은 데이터베이스에서 비어 있습니다. 항목이 없습니다. 이상한가요? – nverhoye

+0

@ e-niki : 예, 제가 테이블을 가지고 있지 않다고 말했듯이, 제 3 자 모듈로부터 온 것일 수도 있습니다. Magento 정식 버전은 무엇입니까? – nachito

+0

내 정식 버전은 1.3.2.3입니다. – nverhoye

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); 
+0

나를 위해,'loadByCustomer' 작품! 'load()'는 고객 ID를 전달하지 않습니다. 이 솔루션은 작동하는 솔루션입니다! –