[英]How to access Magento user's session from outside Magento?
我试图访问我网站另一部分的Magento客户会话。
domain.com/shop/ <- Magento
domain.com/test.php
商店本身就像一个魅力,但我试图在test.php中确定一个客户是否登录,所以我可以显示他的名字与他的购物车的链接。
目前test.php的内容:
<?php
require_once dirname(__FILE__).'/shop/app/Mage.php';
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'frontend'));
var_dump(Mage::getSingleton('customer/session')->isLoggedIn());
?>
我一直得到布尔(假)返回。 我在domain.com/shop/登录了Magento,所以预计“真实”。
我忘记了什么吗?
我建议检查Magento设置的cookie的路径。 最有可能的是,它设置为/shop
,因此上面的文件无法访问cookie。
您可以在System -> Configuration -> Web (under the General heading) -> Session cookie management
修改Magento用于在控制面板中设置其cookie的路径
同样的问题让我很生气。 我完成了以下工作直到最后一项解决了它:
如果您已经检查了以上所有内容,请确保首先自行初始化核心“前端”会话,如下所示:
// Initialise the core "frontend" session
Mage::getModel('core/session', array('name' => 'frontend'));
然后您可以像这样访问客户/会话:
$customer = Mage::getSingleton("customer/session", array('name' => 'frontend'))->getCustomer();
这是在confuguration-> web
ver的confuguration-> web
。 1.10.1.1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.