Ответ 1
Существует несколько способов отмены переменных сеанса в Magento. Большинство из них (не все) определены в Varien_Object
и поэтому доступны для всех объектов в Magento, которые расширяют его.
unsetData:
$session->unsetData('day_filter');
$session->unsetData('days');
$session->unsetData('next_delivery_date');
uns (который будет немного медленнее и в конечном итоге выполняет unsetData):
$session->unsDayFilter();
$session->unsDays();
$session->unsNextDeliveryDate();
GetDataSTRONG >
Не ошибка! В Mage_Core_Model_Session_Abstract_Varien
существует относительно не известный метод. Метод getData в этом классе содержит необязательный логический второй параметр, который, если пройденный true, очистит переменную при ее возврате.
Итак, $session->getData('day_filter', true);
вернет переменную session day_filter, а также очистит ее от сеанса одновременно.
Установите значение null:
$session->setData('day_filter', NULL);
$session->setData('days', NULL);
$session->setData('next_delivery_date', NULL);
unsetAll | ясно
Наконец, вы можете использовать ядерную опцию ( BEWARE:. Это отключит ВСЕ ДАННЫЕ в сеансе, а не только данные, которые вы добавили):
$session->unsetAll();
или $session->clear();
(обе псевдонимы друг друга)