Перенаправление в обратном вызове типа MENU_CALLBACK - PullRequest
0 голосов
/ 25 марта 2011

Почему drupal_goto() не работает в моем меню обратного вызова?

function _mymodule_mycallback() {
  global $user;

  $nid = arg(1);
  // needed for node_object_prepare
  module_load_include('inc', 'node', 'node.pages'); // needed for node_object_prepare()     
  $new_node = (object) array();
  $new_node->type  = 'auction';
  $new_node->language = '';

  node_object_prepare($new_node);
  node_save($new_node);
  $new_nid = $new_node->nid;

  drupal_goto('node/'.$new_nid, drupal_get_destination()); 

  exit();
}

Я всегда возвращаюсь на вызывающий сайт.Я уже пробовал url() и отправлял заголовки, но это не работает.

1 Ответ

0 голосов
/ 25 марта 2011

ОБНОВЛЕНИЕ

попробуйте unset($_REQUEST['destination']); (и, возможно, также unset($_REQUEST['edit']['destination']) перед вызовом drupal_goto(), если последний, кажется, не работает.

ОБНОВЛЕНИЕ КОНЕЦ

попробуйте просто

drupal_goto("node/$new_nid");

(без drupal_get_destination(); также exit(); является излишним- см. документ )

...