Es gibt mehrere Möglichkeiten, Sitzungsvariablen in Magento zu deaktivieren. Die meisten davon (nicht alle) sind in Varien_Object
definiert und somit für alle Objekte in Magento verfügbar, die sie erweitern.
unsetData:
$session->unsetData('day_filter');
$session->unsetData('days');
$session->unsetData('next_delivery_date');
uns (die geringfügig langsamer sein wird, und führt letztlich unsetData sowieso):
$session->unsDayFilter();
$session->unsDays();
$session->unsNextDeliveryDate();
getData
kein Fehler! Eine relativ unbekannte Methode existiert in Mage_Core_Model_Session_Abstract_Varien
. Die Methode getData in dieser Klasse enthält einen optionalen booleschen zweiten Parameter, der bei Rückgabe der Variable die Variable löscht, während sie zurückgegeben wird.
So würde $session->getData('day_filter', true);
die Sitzungsvariable day_filter zurückgeben und gleichzeitig aus der Sitzung löschen.
auf null gesetzt:
$session->setData('day_filter', NULL);
$session->setData('days', NULL);
$session->setData('next_delivery_date', NULL);
unsetAll | klar
Schließlich könnte man die nukleare Option verwenden (ACHTUNG: wird ALL DATA in der Sitzung, nicht nur die Daten, die Sie hinzugefügt haben, diese löschen):
$session->unsetAll();
oder $session->clear();
(beide Aliase von jedem andere)