如何在 Drupal 中获取当前页面 URL?
How to get current page URL in Drupal?
我正在尝试在 Drupal 站点 (Drupal 7) 上输出当前页面 URL,我尝试了以下操作...
<?php print current_path(); ?>
输出页面名称而不是 URL,关于如何输出完整的 URL 有什么想法吗?
直接 PHP 你可以使用这个:
$curPathName = $_SERVER["DOCUMENT_ROOT"];
$currentURL = $_SERVER["HTTP_HOST"];
我不明白为什么那行不通。这将为您提供路径和 URL.
如果你想让事情完成 "the drupal way",你可以使用 current_path() 或 request_path()。
https://api.drupal.org/api/drupal/includes!path.inc/function/current_path/7
https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/request_path/7
您也可以使用 $base_url 而不是依赖 $_SERVER。
durbpoisn 给出的解决方案将在浏览器中为您提供 URL。如果那是别名,您可以使用 drupal_get_normal_path() 获取内部路径
https://api.drupal.org/api/drupal/includes!path.inc/function/drupal_get_normal_path/7
您可以使用
<?php
global $base_url;
print $base_url . '/' . current_path();
?>
在 D7 上,如果你想获取当前路径,你可以使用:
$path = drupal_get_path_alias();
因此,如果您当前的 URL 是:
您将获得:
'hello/world'
在 drupal9 中
$current_path = \Drupal::service('path.current')->getPath();
$path_alias = \Drupal::service('path_alias.manager')->getAliasByPath($current_path);
我正在尝试在 Drupal 站点 (Drupal 7) 上输出当前页面 URL,我尝试了以下操作...
<?php print current_path(); ?>
输出页面名称而不是 URL,关于如何输出完整的 URL 有什么想法吗?
直接 PHP 你可以使用这个:
$curPathName = $_SERVER["DOCUMENT_ROOT"];
$currentURL = $_SERVER["HTTP_HOST"];
我不明白为什么那行不通。这将为您提供路径和 URL.
如果你想让事情完成 "the drupal way",你可以使用 current_path() 或 request_path()。
https://api.drupal.org/api/drupal/includes!path.inc/function/current_path/7 https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/request_path/7
您也可以使用 $base_url 而不是依赖 $_SERVER。
durbpoisn 给出的解决方案将在浏览器中为您提供 URL。如果那是别名,您可以使用 drupal_get_normal_path() 获取内部路径
https://api.drupal.org/api/drupal/includes!path.inc/function/drupal_get_normal_path/7
您可以使用
<?php
global $base_url;
print $base_url . '/' . current_path();
?>
在 D7 上,如果你想获取当前路径,你可以使用:
$path = drupal_get_path_alias();
因此,如果您当前的 URL 是:
您将获得:
'hello/world'
在 drupal9 中
$current_path = \Drupal::service('path.current')->getPath();
$path_alias = \Drupal::service('path_alias.manager')->getAliasByPath($current_path);