Magento Przekierowanie z obserwatora, które zawsze działa

Mam problem z utworzeniem działającego przekierowania w Magento od obserwatora.

O ile wiem, istnieje wiele zdarzeń, które otrzymały obiekt odpowiedzi (w$observer obiekt). Innym sposobem byłoby użycie czegoś takiego jak

Mage::app()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));

jak wspomniano tutajhttps: //stackoverflow.com/a/4730200/170004 przez wielkiego Alana Storma.

Niestety nie działa to dla mnie, nawet gdy dodamsendResponse() lubię to

Mage::app()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'))->sendResponse();

Na przykład

Chcę uniemożliwić niektóre adresy e-mail do subskrypcji biuletynu. Dlatego stworzyłem obserwatora dlanewsletter_subscriber_save_before Event.

W metodzie obserwatora sprawdzam niektóre przypadki, a jeśli się uruchamiają, chcę zapobiec zapisywaniu się do newslettera. Mój plan polegał na dodaniu takiego błędu:

Mage::getSingleton('checkout/session')->addError('Email is spam!');

i pozwól, aby bieżąca strona została ponownie załadowana (wyświetlając komunikat o błędzie) z przekierowaniem, jak pokazano powyżej checkout/cart w tym przykładzie pokazuje, że to naprawdę działa).

Niestety przekierowanie nie działa. DlaczegosendResponse nie wysłać odpowiedzi w tym przypadku?

Dzięki za pomoc :

questionAnswers(4)

yourAnswerToTheQuestion