代码之家  ›  专栏  ›  技术社区  ›  a20

drupal重定向api

  •  2
  • a20  · 技术社区  · 17 年前

    这是我放在首页homebox.tpl.php中的代码:

    if(!is_numeric(arg(2))){
    global $user;
    if($user->uid){
        if(count($_GET) > 1){
            $get = array();
            foreach($_GET as $k=>$v){
                if($k != 'q')
                    $get[] = $k.'='.$v;
            }
            $get2 = '?'.implode('&',$get);
        }
        header("HTTP/1.1 301 Moved Permanently");
        header('location:/homebox/1/'.$user->uid.$get2);
    }else{
        //redirect to error page
    }
    }
    

    http://drupal.org/project/path_redirect ).我不想使用它,因为我想了解是否有用于重定向的Drupal API和/或在处理链的开头捕获和重定向请求的方法。

    谢谢 海芋

    1 回复  |  直到 17 年前
        1
  •  8
  •   Jeremy French    17 年前

    你可能不得不使用 hook_menu_alter() 但是看起来homebox\u menu()函数没有为homebox定义条目/

    hook_menu 与homebox/匹配的实现,并定义回调并将逻辑放入其中。

    您可能希望使用 drupal_goto()

    从模板中删除此类逻辑做得很好。