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 :