问题描述
我必须在magento以外的文件中读取$_SESSION['name']
,或者更好的是在/magento/folder中.我尝试了任何解决方案均未取得良好结果.
I have to read a $_SESSION['name']
in a file outside magento or better is in /magento/folder.I tried any solution without good result.
示例
Mage::getSingleton('core/session')->setUName($_SESSION['username']);
在外部文件中,使用以下代码:
In external file use this code:
require_once("../app/Mage.php");
umask(0);
Mage::app();
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
Mage::init();
$_SESSION['username'] = Mage::getSingleton('core/session')->getUName();
结果???变量为空....
Result??? Variable empty....
我在为magento疯狂....我需要这个变量!!!
I'm crazying with magento.... I need this one variable!!!!
如果有人可以帮助我,我会说谢谢.
If someone can help me I'll say thanks.
推荐答案
快速解决方案:
Mage::getSingleton('core/session', array('name' => 'frontend'))->getUName();
说明:
会话从此处开始:Mage_Core_Model_Session_Abstract_Varien :: start()
Session start here: Mage_Core_Model_Session_Abstract_Varien::start()
默认的magento尝试启动会话时,它会使用以下参数运行: $ sessionName ='frontend'.当您运行 Mage :: getSingleton('core/session')时,您将实例化会话而没有任何参数.而且您没有进行必要的会话.这样,因为您需要再添加一个带有会话名称的参数
When default magento is trying to start session it runs with param: $sessionName = 'frontend'. When you run Mage::getSingleton('core/session') - you instantiate session without any params. And you didn't pull necessary session. So that because you need to add one more param with session name
这篇关于magento之外的会话变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!