在MENU_CALLBACK类型的回调中重定向

时间:2011-03-25 17:35:55

标签: redirect drupal-6

为什么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 :(得分:0)

更新

在调用unset($_REQUEST['destination']);之前尝试unset($_REQUEST['edit']['destination'])(也可能是drupal_goto(),如果后者似乎不起作用。

更新结束

尝试

drupal_goto("node/$new_nid");

(没有drupal_get_destination(); exit();也是多余的 - 请参阅the doc