2011-12-06 100 views

回答

3

如果你的Magento配置使用雙選擇在(電子郵件確認)客戶註冊,然後你可以用什麼@PauGNU已經發布:

$created_at = $customer->getCreatedAt(); 

但是,當涉及到雙重選擇加入,Magento的創建客戶賬戶立即,即設置created_at到當前系統時間,但不激活它(這樣客戶無法在確認之前登錄)並僅發送確認郵件。

這意味着created_at與第一次登錄之間的未知延遲(分鐘,天,周,無論),因此created_at將不再有用。

其實,Magento的一個地方,客戶登錄時被默認追蹤:表中的字段log_customer.login_at,通過Mage_Log_Model_Customer訪問,例如。

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

  • 默認類沒有方法來獲得的第一個登錄。你需要自己開發。
  • 如果「日誌清理」處於活動狀態(爲了保持數據庫更小),您將失去保存的登錄時間。

在這種情況下,我更願意識別最適合的事件,並將其掛鉤並將每個客戶的首次登錄時間保存到單獨的表中。

0

鑑於第一次登錄始終是客戶在網上註冊自己的時候,您只需要在customer_entity表中查看«created_at»字段。

如果加載一個客戶,它真的很容易得到的數據:

$created_at = $customer->getCreatedAt(); 
+1

這僅適用於不需要行政許可的網站。爲了在所有情況下永久保留「第一次登錄」數據,需要一個可以實現新的datetime屬性+觀察者的模塊,以便在'customer_customer_authenticated'事件中填充此屬性。 – benmarks