Срочно! Не происходит переадресация на нужную страницу. Почему?

Главные вкладки

Аватар пользователя Xandr Morris@drupal.org Xandr Morris@dr... 24 августа 2009 в 19:29

Встала такая проблема.
В hook_submit() происходит некая обработка данных. Всё, вроде, замечательно.
Последней строкой идет
drupal_goto('some/next/page')

Эта самая (абстрактно) "some/next/page" прописана в hook_menu с аргументом, причем не в кешах.
'type' => MENU_CALLBACK

Редитрект происходит на страницу, с которой отправлялся запрос, а не туда, куда указано в сабмите.

P.S. Форма,которая обрабатывается прикреплена к странице при помощи drupal_get_form('my_form_function_name').

Что мне делать в этой ситуации? Нужно срочно, т.к. необходимо сдавать проект....
Очень надеюсь на Вашу помощь.

Заранее признателен.

Комментарии

Аватар пользователя Алешка Алешка 24 августа 2009 в 21:46

"Xandr <a href="mailto:Morris@drupal.org">Morris@drupal.org</a>" wrote:
Эта самая (абстрактно) "some/next/page" прописана в hook_menu с аргументом, причем не в кешах.

Сорри за может тупой вопрос: А что значит "абстрактно"? И "some/next/page" ... с аргументом - это как?
Я бы мог предположить, что в качестве аргумента в drupal_goto('') у вас этот абстракционизм и не попадает. Проверьте видимость переменной "some/next/page". Вероятно в хуке или функции, где происходит формирование, заканчивается жизнь переменной "some/next/page".
Это первое, что пришло на ум. В принципе, drupal_goto('') рабочая вещь, использую ее.

Аватар пользователя Xandr Morris@drupal.org Xandr Morris@dr... 25 августа 2009 в 1:44

всё бы хорошо, но там не переменная.
необходимо было создать свою систему поиска (не встроенную).
На странице находится форма:

drupal_get_form('basekniise_admin_search_form');

После отправки инфа из нее передается в

basekniise_admin_search_form_submit($form_id, $form)

Там (учитывая некоторые особенности имеющейся системы) данные помещаются в

$_SESSION['BASEKNIISE_SEARCH_RESULT']

и после этого идет строка:

drupal_goto('basekniise/search/result');

Так вот переход происходит не на указанный адрес (хотя, страница эта прописана в меню), а туда, где размещена форма поиска. Вот я и не могу понять, почему везде это срабатывает, а тут - нет.