【发布时间】:2011-03-21 10:30:16
【问题描述】:
我正在使用 Magento 并尝试在其 index.php 文件中保存会话中的值,如下所示,但该值没有被保留。
$_SESSION['myvar'] = '1';
我该怎么做?
谢谢
【问题讨论】:
-
我在直接使用
setcookie()时遇到了同样的问题,因为core/cookie模型处理了这些设置,发现它覆盖了我的值。
我正在使用 Magento 并尝试在其 index.php 文件中保存会话中的值,如下所示,但该值没有被保留。
$_SESSION['myvar'] = '1';
我该怎么做?
谢谢
【问题讨论】:
setcookie() 时遇到了同样的问题,因为core/cookie 模型处理了这些设置,发现它覆盖了我的值。
假设您要将值“Hello world”保存到会话中的“欢迎消息”变量中。代码是:
$inputMessage = 'Hello World';
Mage::getSingleton('core/session')->setWelcomeMessage($inputMessage);
现在您想在代码/站点的其他地方回显“欢迎信息”。
$outputMessage = Mage::getSingleton('core/session')->getWelcomeMessage();
echo $this->__($outputMessage);
【讨论】:
按照 Ali Nasrullah 给出的示例,我会这样做:
$session = Mage::getSingleton("core/session", array("name"=>"frontend"));
// set data
$session->setData("device_id", 4);
// get data
$myDeviceId = $session->getData("device_id");
确保在调用上面的代码之前包含 [Mage-root]/app/Mage.php!
@Ali Nasrullah:将 device:id 的值作为 setData 函数的第二个参数传递。
【讨论】:
Mage::getSingleton('core/session')->setMySessionVariable('MyValue');
$myValue = Mage::getSingleton('core/session')->getMySessionVariable();
echo $myValue;
Take Look For More:
【讨论】:
frontend: Mage::getSingleton('core/session')->setYourNameSession($session_value);
backend: Mage::getSingleton('admin/session')->setYourNameSession($session_value);
【讨论】: