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
не отправить ответ в этом случае?
Спасибо за помощь :