Заставляя drupal goto игнорировать? пункт назначения=foo
Я часто сталкиваюсь со случаями на своих сайтах Drupal 6, когда пользователь может столкнуться со страницами моего модуля с ?destination=foo строкой запроса, добавленной к URL-адресу, из предыдущих взаимодействий на сайте. Результаты этого варьируются от "неудобных" до "очень неприятных".
Поведение по умолчанию drupal_goto()
сначала проверяет параметр назначения и игнорирует аргументы drupal_goto()
, если он присутствует.
Существует ли собственный способ использования drupal_goto() в способ, который игнорирует destination
?
(Да, я знаю, что могу воссоздать версию drupal_goto()
в функции утилиты, но я бы предпочел решение на основе Drupal, если оно существует)
2 answers
На самом деле это довольно просто, просто снимите значение $_REQUEST['destination']
перед вызовом drupal_goto()
.
На самом деле, unset($_REQUEST['destination'])
не работает для меня, но я смог заставить его работать с этим вместо этого: unset($_GET['destination'])
.