"-6ren">
gpt4 book ai didi

magento - 如何在 Magento 中取消设置 session ?

转载 作者:行者123 更新时间:2023-12-03 23:07:07 24 4
gpt4 key购买 nike

我在我的 magento 自定义模块中使用 session 。下面是我的代码

$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');

上面的代码工作正常,但现在我想取消设置或销毁所有值?您能否为我提供如何取消设置所有设置值的解决方案?

最佳答案

在 Magento 中有几种方法可以取消设置 session 变量。其中大部分(不是全部)在Varien_Object 中定义。因此对 Magento 中扩展它的所有对象都是可用的。

未设置数据:

    $session->unsetData('day_filter');
$session->unsetData('days');
$session->unsetData('next_delivery_date');

联合国 (这会稍微慢一些,最终还是会执行 unsetData ):
   $session->unsDayFilter();
$session->unsDays();
$session->unsNextDeliveryDate();

获取数据

没有错! Mage_Core_Model_Session_Abstract_Varien 中存在一个相对未知的方法.此类中的 getData 方法包含一个可选的 bool 第二个参数,如果传递 true 将在返回变量时清除该变量。

所以 $session->getData('day_filter', true);将返回 session 变量 day_filter 并同时从 session 中清除它。

设为空 :
   $session->setData('day_filter', NULL);
$session->setData('days', NULL);
$session->setData('next_delivery_date', NULL);

全部取消 |清除

最后,您可以使用核选项( 注意: 这将取消设置 ALL DATA 在 session 中,而不仅仅是您添加的数据):
$session->unsetAll();$session->clear(); (互为别名)

关于magento - 如何在 Magento 中取消设置 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com