自定义会话对象

时间:2016-02-04 06:26:55

标签: php magento session magento-1.9

我正在使用我自己的会话类,在该类中,我使用了一些受保护的数据成员和一些公共数据方法,而我在会话类中存储了一些变量,如

Mage::getSingleton('decision/session')->storeProductInfo('2');

这是函数实现,$this->_productId是我的会话类的私有数据成员。

Public function storeProductInfo($product_id){
    $this->_productId = $product_id;
    return $this;
}

我通过调用以下语句获取存储变量,它返回“ null ”。

$product_stored_id = Mage::getSingleton('decision/session')->getStoredProductInfo();

public function getStoredProductInfo(){
   return $this->_productId;
}

甚至

Mage:getSingleton('decision/session')->setData('product_id', '2');

没工作。你能告诉我哪里出错了吗?我必须在我的会话中存储一些数组,这就是为什么我创建自己的会话类来分别处理我的逻辑。

1 个答案:

答案 0 :(得分:0)

使用Magento Magic Method获取并设置

为此,当您的观察者将调用时,您可以创建会话并设置其值。

您可以使用set设置会话,使用uns。取消使用get和unset会话。

Mage::getSingleton('core/session')->setMySessionVariable('MyValue'); 

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

echo $myValue;

取消设置会话

Mage::getSingleton('core/session')->unsMySessionVariable();


$inputMessage = 'Hello World';
Mage::getSingleton('core/session')->setWelcomeMessage($inputMessage);

现在,您希望在代码/网站的其他位置回显“欢迎消息”。

$outputMessage = Mage::getSingleton('core/session')->getWelcomeMessage();
echo $this->__($outputMessage);