我需要为未在past 3 months
登录且尚未在我的网站上注册后登录的客户生成报告。
即使最近登录后,还没有从我的网站购买任何东西。
我需要这些数据来维护客户关系。
这是我的代码。
<?php
require_once('app/Mage.php');
umask(0);
Mage::app('default');
Mage::setIsDeveloperMode(true);
$version = Mage::getVersion();
echo $version ."\n\n";
$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);
?>
我正在使用
Magento 1.7.0.2版本。
任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
查看数据库表log_customers,它具有所有注册用户的登录和注销日期。您可能遇到的唯一问题是,如果您在
中启用了日志清理system > configuration (top menu)
advanced > system (left menu)
'log'(中心区域),这是您配置日志生存期的地方。如果您要将此用于报告,则可以根据要求进行调整。
使用log_customer表中的数据,与customer_entity(entity_id字段)交叉引用,您将能够生成报告而无需触及法师应用程序。
答案 1 :(得分:0)
试试这个......
获取上次登录日期:
$collection = Mage::getModel('customer/customer')->getCollection();
foreach($collectin as $customer){
$logCustomer = Mage::getModel('log/customer')->loadByCustomer($customer);
$lastVisited = $logCustomer->getLoginAtTimestamp();
echo $lastVisited = $customer->getFirstname(). " => ".date('Y-m-d H:i:s', $lastVisited). "<br>";
}
要在管理区域显示此结果,我会创建一个简单的管理员扩展程序:learn here。
并将上面的代码放在控制器中以便快速查看,但是我希望您了解MVC如何在magento中工作并以magento方式显示所需的结果。
答案 2 :(得分:0)
请使用我的以下代码,然后您将获得客户登录和客户ID的注销时间。
$model = Mage::getSingleton('customer/customer');$customerCollection = $model->getCollection()
->addAttributeToSelect('*');$customerCollection->getSelect()->joinLeft(array("t1" => 'log_customer'), "e.entity_id = t1.customer_id")->group('e.entity_id');
echo $customerCollection->getSelect();
foreach($customerCollection as $customerObject)
{
echo '<b>CustomerID='.$customerObject->getData('entity_id').'Login At-'. $customerObject->getData('login_at').' Log Out at'.$customerObject->getData('logout_at').'</b><br/>';
}