我能够从 magento 之外的外部站点使用 magento 的登录功能。但它只有在我有用户名和密码时才有效。在某些情况下,我只有用户 ID。我尝试了 loginbyid,它返回 true 并加载客户详细信息,但是一旦将 html 加载到浏览器中,它就会删除客户会话。请注意,这不是典型的问题“从管理员登录客户”,而是使用 ID 从外部登录客户。
require_once('path/to/Mage.php');
umask(0);
Mage::app('default','store', $options=null);
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
$customer = $session->getCustomer();
if($session->loginById($usernameOrId)){
$session->setCustomerAsLoggedIn($customer);
return $session->isLoggedIn();
}
return false;
这将返回 true,但在页面加载后,现在将返回 false:
require_once('path/to/Mage.php');
umask(0);
Mage::app('default','store', $options=null);
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
return $session->isLoggedIn();
谢谢你。