Magento - 自定义模块中的访问会话变量

时间:2014-10-06 11:49:53

标签: magento session module

在我的网站上,我有几个页面设置核心会话变量:

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变量在我的模块中总是空/空,但在我的任何页面上都可以

1 个答案:

答案 0 :(得分:0)

在加载页面后,可能会调用您的观察者,因此实际上没有设置该值。

这是设置会话变量的正确方法(如你所写)

Mage::getSingleton("core/session")->setMySessionVariable("test"); 

$myValue  =  Mage::getSingleton("core/session")->getMySessionVariable();

echo $myValue;