在我的网站上,我有几个页面设置核心会话变量:
Mage::getSingleton('core/session')->setSellYourArtCheck(1);
如果我想在任何地方访问,我可以成功地做到:
Mage::getSingleton('core/session')->getSellYourArtCheck();
但我现在需要在我的自定义模块中访问此会话变量,但当我尝试按上述方式访问它时,它显示为空/ null。
我的模块的Observer.php代码:
<?php
class Custom_RegisterArtist_Model_Observer
{
public function registerArtist(Varien_Event_Observer $observer)
{
// other code....
$is_artist = Mage::getSingleton('core/session')->getSellYourArtCheck();
if($is_artist == 1)
{
$customer->setData('group_id', 4);
}
// other code....
}
}
我的$is_artist
变量在我的模块中总是空/空,但在我的任何页面上都可以
答案 0 :(得分:0)
在加载页面后,可能会调用您的观察者,因此实际上没有设置该值。
这是设置会话变量的正确方法(如你所写)
Mage::getSingleton("core/session")->setMySessionVariable("test");
$myValue = Mage::getSingleton("core/session")->getMySessionVariable();
echo $myValue;