Magento Redirect от Observer, который всегда работает

У меня проблемы с созданием рабочего перенаправления в Magento от наблюдателя.

Насколько я знаю, есть много событий, которые получили объект ответа (в$observer объект). Другим способом было бы использовать что-то вроде

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

как уже упоминалось здесьhttps: //stackoverflow.com/a/4730200/170004 Великим Аланом Штормом.

К сожалению, это не работает для меня, даже когда я добавляюsendResponse() так

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

Например

Я хочу запретить использование некоторых адресов электронной почты для подписки на рассылку. Поэтому я создал наблюдателя дляnewsletter_subscriber_save_before Мероприятие

В моем методе наблюдателя я проверяю некоторые случаи, и если они срабатывают, я хочу предотвратить сохранение подписки на новостную рассылку. Я планировал добавить такую ошибку:

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

и просто дайте текущей странице перезагрузиться (показывая сообщение об ошибке) с перенаправлением, как показано выше checkout/cart в примере просто посмотреть, как это работает).

К сожалению, редирект не работает. ПочемуsendResponse не отправить ответ в этом случае?

Спасибо за помощь :

Ответы на вопрос(4)

Ваш ответ на вопрос