Magento中如何获取/判断用户登录状态

来源:互联网 发布:公司连锁数据销售分析 编辑:程序博客网 时间:2024/05/17 06:35

开发人员直接用

Mage::getSingleton('customer/session')->isLoggedIn()

来判断用户是否登录

比如一般magento开发人员会这样用

<?PHP//get customer login status ?><?php $myStatus = Mage::getSingleton('customer/session')->isLoggedIn() ?><?php if($myStatus): ?><li><a href="/customer/account/index" title="Customer Register">My account</a> |</li><li><?php echo $this->getLayout()->getBlock('header')->getWelcome() ?></li><?php else: ?><li><a href="/customer/account/index" title="Customer Register">My account</a></li><li><a href="/customer/account/create" title="Customer Register">Register</a></li><?php endif ?>

但其实在magento里面用户登录状态判断函数早已封装好了.
判断用户登陆状态是否登陆的原理是:Magento在Session中检查CustomerID是否已经设置,并且该CustomerID在数据库中是有效的。

在app/code/core/Mage/Customer/Helper/Data.php文件中

/**     * Check customer is logged in     *     * @return bool     */    public function isLoggedIn()    {        return Mage::getSingleton('customer/session')->isLoggedIn();    }

在app/code/core/Mage/Customer/Model/Session.php文件中

/**     * Checking customer login status     *     * @return bool     */    public function isLoggedIn()    {        return (bool)$this->getId() && (bool)$this->checkCustomerId($this->getId());    }

所以我们可以在全局用

if ($this->helper('customer')->isLoggedIn()) {   // is logon  } 

在magento中判断用户的登录状态或是否登录

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四年级上册数学应用题 四年级上册数学应用题100道 五年级上册数学应用题 小学二年级数学应用题 二年级数学下册应用题大全 三年级下册数学应用题 小学六年级数学应用题 六年级下册数学应用题 七年级上册数学应用题 四年级鸡兔同笼应用题 五年级小数除法应用题 五年级下册数学应用题 三年级上期数学应用题 小学三年级时间应用题 小学二年级数学应用题大全 小学三年级数学应用题上册 六年级工程问题应用题 六年级数学比例应用题 六年级数学工程应用题 五年级鸡兔同笼应用题 10以内的加减法应用题 五年级上册小数除法应用题 小学二年级数学应用题上册 小学三年级上册数学应用题 二年级数学除法应用题 小学二年级除法应用题 二年级下册奥数应用题 七年级数学方程应用题 五年级数学方程应用题 小学数学四年级应用题 小学四年级上册数学应用题 六年级数学方程应用题 二年级上学期数学应用题 小学五年级上册应用题 五年级列方程解应用题 六年级数学分数乘法应用题 三年级上学期数学应用题 小学五年级奥数应用题 小学三年级上册应用题 小学生六年级数学应用题 小学六年级分数乘法应用题