J'ai besoin d'obtenir l'URL complète de la page actuellement ouverte. J'utilise le code suivant, mais il renvoie http://localhost/mysite/page_name
.
$path = isset($_GET['q']) ? $_GET['q'] : '<front>';
$link = url($path, array('absolute' => TRUE));
Il ne suffit pas que mon code se termine; Je souhaite obtenir les valeurs transmises avec l'URL sous la forme http://localhost/mysite/page_name/value1=value&value2=value
.
Comment puis je faire ça?
Avez-vous essayé d'utiliser request_uri () ?
$_SERVER['HTTP_Host'] . request_uri();
Cela devrait faire l'affaire. Je ne l'ai pas essayé moi-même et je suis peut-être un peu en retrait, mais je vous suggère d'essayer. Depuis JavaScript, vous pouvez utiliser le window.location.href
variable.
Voici comment obtenir l'URL absolue de la page actuelle, à l'aide de l'API Drupal:
$current_url = url(current_path(), array('absolute' => TRUE));
Si vous avez également besoin des paramètres de chaîne de requête supplémentaires (non q), vous pouvez utiliser:
$current_url = url(current_path(), array('absolute' => TRUE,
'query' => drupal_get_query_parameters()));
Vous pouvez utiliser le code suivant.
global $base_root;
$current_url = $base_root . request_uri();
echo $current_url;
Essayez $ base_url variable, fournit Drupal URL d'installation sans "/" et current_path () il retourne le chemin de la page en cours de visualisation.
global $base_url;
$current_path = $base_url . '/' . current_path();
Je pense que la meilleure façon de le faire est d'utiliser l'API url () comme celle-ci
url('your/drupal/path', array('absolute' => TRUE));