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