Вы здесь

Способы получения текущего адреса в Drupal

Частенько возникает вопрос как получить адрес главной страницы или текущей в разных CMS.
Для памятки оставляю как получить текущий адрес для Drupal. Для примера рассмотрим адрес http://www.kraeg.ru/drupal/content_page?page=2, где drupal — это папка в которой располагается Drupal, а content_page — синоним к адресу node/123.

$GLOBALS['base_root'] http://www.kraeg.ru
$GLOBALS['base_url'] http://www.kraeg.ru/drupal
$GLOBALS['base_path'] или base_path() /drupal/
request_uri() /drupal/content_page?page=2
request_path() content_page
current_path() или $_GET['q'] node/123
arg(0), arg(1) node, 123

Замечания:

  • значение в <?php$GLOBALS['base_url']?> никогда не содержит завершающий слэш, в отличии от <?php$GLOBALS['base_path']?> и <?phpbase_path()?>.
  • <?phpcurrent_path()?> не работает в <?phphook_boot()?>.

За наводку благодарим замечательный сайт xandeadx.ru.