我正在使用我自己的会话类,在该类中,我使用了一些受保护的数据成员和一些公共数据方法,而我在会话类中存储了一些变量,如
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');
没工作。你能告诉我哪里出错了吗?我必须在我的会话中存储一些数组,这就是为什么我创建自己的会话类来分别处理我的逻辑。
答案 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);