Заставляя drupal goto игнорировать? пункт назначения=foo


Я часто сталкиваюсь со случаями на своих сайтах Drupal 6, когда пользователь может столкнуться со страницами моего модуля с ?destination=foo строкой запроса, добавленной к URL-адресу, из предыдущих взаимодействий на сайте. Результаты этого варьируются от "неудобных" до "очень неприятных".

Поведение по умолчанию drupal_goto() сначала проверяет параметр назначения и игнорирует аргументы drupal_goto(), если он присутствует.

Существует ли собственный способ использования drupal_goto() в способ, который игнорирует destination?

(Да, я знаю, что могу воссоздать версию drupal_goto() в функции утилиты, но я бы предпочел решение на основе Drupal, если оно существует)

Author: kiamlaluno, 2011-03-04

2 answers

На самом деле это довольно просто, просто снимите значение $_REQUEST['destination'] перед вызовом drupal_goto().

 15
Author: Decipher, 2011-03-05 00:01:57

На самом деле, unset($_REQUEST['destination']) не работает для меня, но я смог заставить его работать с этим вместо этого: unset($_GET['destination']).

 4
Author: pvmchau, 2013-09-25 03:20:13