use*_*655 13 magento magento-1.5
我在我的magento自定义模块中使用session .Below是我的代码
$session = Mage::getSingleton("core/session", array("name"=>"frontend"));
$session->setData("day_filter", 'weeks');
$session->setData("days", '5');
$session->setData("next_delivery_date", '2012-05-12');
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但现在我想取消或破坏所有的价值?能否请您解决如何解除所有设定值的问题?
Dre*_*ter 32
有几种方法可以在Magento中取消设置会话变量.其中大多数(不是全部)都是定义的Varien_Object
,因此可以扩展到Magento中扩展它的所有对象.
unsetData:
$session->unsetData('day_filter');
$session->unsetData('days');
$session->unsetData('next_delivery_date');
Run Code Online (Sandbox Code Playgroud)
uns(无论如何都会慢一点,最终会执行unsetData):
$session->unsDayFilter();
$session->unsDays();
$session->unsNextDeliveryDate();
Run Code Online (Sandbox Code Playgroud)
的getData
不是一个错误!一种相对未知的方法存在于Mage_Core_Model_Session_Abstract_Varien
.此类中的getData方法包含一个可选的布尔第二个参数,如果传递给它,则会在返回时清除该变量.
因此$session->getData('day_filter', true);
会返回会话变量day_filter并同时从会话中清除它.
设为null:
$session->setData('day_filter', NULL);
$session->setData('days', NULL);
$session->setData('next_delivery_date', NULL);
Run Code Online (Sandbox Code Playgroud)
unsetAll | 明确
最后你可以使用核选项(注意:这会在会话中取消设置所有数据,而不仅仅是你添加的数据):
$session->unsetAll();
或$session->clear();
(彼此的别名)
归档时间: |
|
查看次数: |
30934 次 |
最近记录: |