Events 马根托';客户登录';未捕获事件
我发现客户登录事件有问题。我在magento之外有一个应用程序(flex应用程序),并且有一个用于客户登录的表单。我使用此代码登录客户:Events 马根托';客户登录';未捕获事件,events,magento,login,Events,Magento,Login,我发现客户登录事件有问题。我在magento之外有一个应用程序(flex应用程序),并且有一个用于客户登录的表单。我使用此代码登录客户: require_once '../../app/Mage.php'; umask(0); Mage::app(); Mage::getSingleton('core/session', array('name'=>'frontend')); $session = Mage::getSingleton('customer/session'); try
require_once '../../app/Mage.php';
umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
try {
$session->login ( $_REQUEST['username'], $_REQUEST['password'] );
$return .= '<userid>'.$session->getCustomer()->getId().'</userid>';
} catch (Exception $e) {
$return .= '<error>'.$e->getMessage().'</error>';
}
require_once'../../app/Mage.php';
乌马斯克(0);
Mage::app();
Mage::getSingleton('core/session',array('name'=>'frontend');
$session=Mage::getSingleton('customer/session');
试一试{
$session->login($请求['username'],$请求['password']);
$return.=''.$session->getCustomer()->getId();
}捕获(例外$e){
$return.=''.$e->getMessage()';
}
一切正常,客户已登录。问题是事件已被调度,但Mage::Visitor和Mage::Reports无法捕获事件,如果我从flex返回到产品视图页面,“report\u viewed\u product\u index”表中会出现MySQL错误。有人能帮忙吗
谢谢大家! 通过阅读解决了我的问题
这就是我所做的
require_once '../../app/Mage.php';
umask(0);
Mage::app($_REQUEST['store_id'])->init();
$core_session = Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
$return = '<user>';
$write = Mage::getSingleton ( 'core/resource' )->getConnection ( 'core_write' );
$url = Mage::getUrl ( '*/*/*', array ('_current' => true ) );
Mage::getSingleton ( 'core/session' )->setLastUrl ( $url );
$visitor_id = $_SESSION ['core'] ['visitor_data'] ['visitor_id'];
if (! empty ( $visitor_id )) {
Mage::getSingleton ( 'log/visitor' )->setId ( $visitor_id );
} else {
Mage::getSingleton ( 'customer/session' )->setWishlistItemCount ( 0 );
Mage::getSingleton ( 'catalog/session' )->setCatalogCompareItemsCount ( 0 );
$write->query ( "INSERT INTO log_url_info (url, referer) VALUES (?, ?)", array ($url, Mage::helper ( 'core/http' )->getHttpReferer ( true ) ) );
$url_id = $write->lastInsertId ();
$log_visitor = Mage::getSingleton ( 'log/visitor' )->initServerData ()->setFirstVisitAt ( now () )->setIsNewVisitor ( true )->setLastVisitAt ( now () )->setLastUrlId ( $url_id )->save ();
$write->query ( "INSERT INTO log_url (url_id, visitor_id, visit_time) VALUES (?, ?, ?)", array ($url_id, $log_visitor->getId (), now () ) );
$core_session->setVisitorData ( $log_visitor->getData () );
$visitor_id = $log_visitor->getId ();
}
try {
$session->login ( $_REQUEST['username_cl_mag'], $_REQUEST['password_cl_mag'] );
//$session->setCustomerAsLoggedIn($session->getCustomer());
//$customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
$customerId = $session->getCustomerId();
$eventModel = Mage::getModel('reports/event');
$eventModel->updateCustomerType($visitor_id, $customerId);
Mage::getModel('reports/product_index_compared')
->updateCustomerFromVisitor()
->calculate();
Mage::getModel('reports/product_index_viewed')
->updateCustomerFromVisitor()
->calculate();
$return .= '<userid>'.$session->getCustomerId().'</userid>';
} catch (Exception $e) {
$return .= '<error>'.$e->getMessage().'</error>';
}
print $return .= "</user>";
require_once'../../app/Mage.php';
乌马斯克(0);
Mage::app($_请求['store_id'])->init();
$core_session=Mage::getSingleton('core/session',array('name'=>'frontend');
$session=Mage::getSingleton('customer/session');
$return='';
$write=Mage::getSingleton('core/resource')->getConnection('core_write');
$url=Mage::getUrl('*/*/*',数组(''u current'=>true));
Mage::getSingleton('core/session')->setLastUrl($url);
$visitor\u id=$\u会话['core']['visitor\u data']['visitor\u id'];
如果(!空($visitor_id)){
Mage::getSingleton('log/visitor')->setId($visitor\u id);
}否则{
Mage::getSingleton('customer/session')->setWishlistItemCount(0);
Mage::getSingleton('catalog/session')->SetCatalogCompareItemScont(0);
$write->query(“插入到日志url\u信息(url,referer)值(?,)”,数组($url,Mage::helper('core/http')->getHttpReferer(true));
$url_id=$write->lastInsertId();
$log_visitor=Mage::getSingleton('log/visitor')->initServerData()->setFirstVisitAt(now())->setIsNewVisitor(true)->setLastVisitAt(now())->setLastUrlId($url_id)->save();
$write->query(“插入日志url(url\U id,访问者id,访问时间)值(?,?)”,数组($url\U id,$log\U visitor->getId(),now());
$core_session->setVisitorData($log_visitor->getData());
$visitor\u id=$log\u visitor->getId();
}
试一试{
$session->login($请求['username\u cl\u mag'],$请求['password\u cl\u mag']);
//$session->setCustomerAsLoggedIn($session->getCustomer());
//$customer=Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
$customerId=$session->getCustomerId();
$eventModel=Mage::getModel('reports/event');
$eventModel->updateCustomerType($visitor\u id,$customerId);
Mage::getModel(“报告/产品索引比较”)
->updateCustomerFromVisitor()
->计算();
Mage::getModel('报告/产品索引已查看')
->updateCustomerFromVisitor()
->计算();
$return.=''.$session->getCustomerId();
}捕获(例外$e){
$return.=''.$e->getMessage()';
}
打印$return.=“”;