我们在使用drupal7中经常使用url中的destination参数做重定性处理,drupal7中也有专门换取url上destination参数的函数,介绍如下:
十余年的横峰网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整横峰建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“横峰网站设计”,“横峰网站推广”以来,每个客户项目都认真落实执行。
drupal_get_destination();//这个函数可以获取url中的destination参数,当没有destination参数,函数会将当前url作为参数返回。
drupal_http_build_query(array $query,$parent = '');
drupal_get_query_parameters(array $query = NULL,array $exclude = array('q'),$parent = '');//默认去掉$_GET['q']部分
下面是API中代码:
function drupal_get_destination(){ $destination = & drupal_static(__FUNCTION__); if( isset( $destination ) ){ return $destination; } if( isset( $_GET['destionation'] ) ){ $destionation = array( 'destionation' => $_GET['destination'], ); }else{ $path = $_GET['q']; $query = drupal_http_build_query( drupal_get_query_parameters() ); if( $query != '' ){ $path .= '?'.$query; } $destination = array( 'destination' => $path, ); } return $destination; }
function drupal_http_build_query( array $query,$parent = '' ){ $params = array(); foreach( $query as $key => $value ){ $key = $parent ? $parent . rawurlencode('['.$key.']') : rawurlencode($key); if( is_array( $value ) ){ $params[] = drupal_http_build_query( $value,$key ); }else if( !isset( $value ) ){ $params[] = $key; }else{ $param[] = $key . '=' . str_replace('%2F','/',rawurlencode($value)); } } return implode( '&',$params ); }
function drupal_get_query_parameters( array $query=NULL,array $exclude = array('q'),$parent = '' ){ //set default, if not given if( !isset( $query ) ){ $query = $_GET; } // if exclude is empty, there is nothing to filter if( empty( $exclude ) ){ return $query; } elseif( !$parent ){ $exclude = array_flip( $exclude ); } $params = array(); foreach( $query as $key => $value ){ $string_key = $parent ? $parent . '[' .$key .']' : $key; if( isset( $exclude[$string_key] ) ){ continue; } if( is_array( $value ) ){ $params[$key] = drupal_get_query_parameters( $value,$exclude,$string_key ); }else{ $params[$key] = $value; } } return $params; }
以上内容仅供参考,详细内容请参考drupal7官方网站api内容