我使用了两种代码来检查用户是否登录(不是访客,注册用户)。下面是两个源码。
(1)
$customer = Mage::getSingleton('customer/session')->getCustomer();
$customerId = Mage::getModel('customer/session')->getCustomerId();
if( !$customer || !$customerId ) {
//user is logout
}
else{
//user is logged-in
}(2)
if( !Mage::getSingleton('customer/session')->isLoggedIn() )
{
//user is logged-in
}我想知道两个源代码都在做同样的事情。这两个代码是否只检查注册客户是否已登录。因为我想拒绝未注册(访客用户)的用户访问下一个区块。
发布于 2017-07-12 19:45:56
这是检查客户是否登录的正确方法。
if( !Mage::getSingleton('customer/session')->isLoggedIn() )
{
//user is logged-in
}上面的代码是magento内置的函数,用于检查客户是否登录。
但下面的代码用于获取登录的客户id。
$customerId = Mage::getModel('customer/session')->getCustomerId();如果客户已登录,则将返回客户id,否则返回null。所以不要用它来检查客户登录。
https://stackoverflow.com/questions/45056166
复制相似问题