Как прервать акшин?

При выполнении хука хотелось бы прервать выполнение текущего акшина(отправка формы) и вернуться на страницу отправки/редактирования. Подскажите как корректнее это сделать.

7 комментариев

avatar
дополнение: хук весит на вызове модуля
  • tih
  • 0
avatar
можно использовать редирект Router::Location('url') — он завершит работу всех модулей и сделает внешний редирект
  • ort
  • 0
avatar
Таким способом я не могу передать нотисы через сообщения юзеру и потеряю инфу переданную из формы.
Есть еще такой вариант, но если я вызываю выполнение того же акшина то попадаю в бесконечный цикл т.к. он считает что происходит сабмит формы.
avatar
Таким способом я не могу передать нотисы
их можно передавать через сессию
он считает что происходит сабмит формы
можно сделать unset($REQUEST['имя сабмита кнопки']);
avatar
их можно передавать через сессию
it works!
можно сделать unset($REQUEST['имя сабмита кнопки']);
странно не помогло. хотя должно было. что я делаю не так?
avatar
unset($_REQUEST['имя сабмита кнопки']); — забыл знак "_"
avatar
я вот знак точно не забыл, всеравно не работало.
Нашел: проверка сабмита происходит по массиву $_POST, такчто помогает unset($_POST['имя сабмита кнопки']);
Но при вызове тогоже акшина всеравное происходит отправка топика. Т.к. после отработки акшина вызванного хуком управлнение потоком возвращается в то место откуда произошел вызов хука.
Есть еще какие либо гибкие варианты перенаправить поток штатными средствами движка, без привлечения плагинов и переопределения методов, т.е. только хуком?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.