两个magento登录检查代码之间的差异

时间:2017-07-12 11:16:13

标签: magento

我使用了两种检查用户登录的代码(不是访客,注册用户)。 以下是两个源代码。

(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
}

我想知道两个源代码都在做同样的事情。 两个代码是否一定只检查注册客户是否已登录。 因为我想拒绝未注册(访客用户)用户访问下一个块。

1 个答案:

答案 0 :(得分:3)

这是检查客户是否登录的正确方法。

if( !Mage::getSingleton('customer/session')->isLoggedIn() )
{
    //user is logged-in
}

以上代码是magento内置函数,用于检查客户是否登录。

但以下代码用于获取登录的客户ID。

$customerId = Mage::getModel('customer/session')->getCustomerId();

如果客户登录,则会返回客户ID,否则返回null。所以不要用它来检查客户登录。