Drupal. Получить псевдоним от текущего URL без аргументов папки установки

StackOverflow https://stackoverflow.com/questions/2998295

  •  24-10-2019
  •  | 
  •  

Вопрос

Я хотел бы получить псевдоним текущего пути страницы без аргументов папки установки. Я использую:

drupal_get_path_alias(request_uri())

Но это возвращает установку/что угодно/Фактический/Путь И я хочу получить Фактический/Путь Только что бы ни Установка/что угодно является.

Заранее спасибо :)

Это было полезно?

Решение

Нашел это. На самом деле это было смесь обоих предложений:

$current_path = drupal_get_path_alias($_GET["q"]);

Спасибо хоть.


Обновление: предыдущее решение не всегда работает

Кто -то предложил использовать альтернативный метод:

str_replace(base_path(), '', drupal_get_path_alias(request_uri(), 1));

Но есть ли какой -нибудь способ сделать то же самое, не используя немного дорогого str_replace?

Спасибо

Другие советы

Путь узла, на котором вы находитесь?

http://api.drupal.org/api/function/drupal_get_path_alias/6

if ($node || (arg(0) == 'node' && arg(2) != 'edit')) {
   $system_path = 'node/'.arg(1);
   $current_path = drupal_get_path_alias($system_path);
}

Этот код будет стрелять на страницах узлов и расскажет вам псевдоним страницы.

Для получения дополнительной информации вы можете выбросить $ _get и посмотреть значение строки «Q».

Может быть, вы можете использовать base_path () и str_replace, как это:

str_replace (base_path(), '', drupal_get_path_alias(request_uri()), 1);

Base_path сохраняется в базе данных.

$current_page_url = drupal_get_path_alias( implode( '/', arg() ) );

также работает

Ты пытался $_GET['q']?

Вместо этого я склонен к полному URL, чтобы избежать каких -либо проблем, которые возникают, когда base_path () не просто '/'.

$url = (($_SERVER['HTTPS'])?"https://":"http://")  .  $_SERVER['HTTP_HOST'] . url($_GET['q']);

Или даже проще:

$url = url($_GET['q'], array('absolute'=>true));

Самое быстрое решение.

substr(drupal_get_path_alias(request_uri(), 1), strlen(base_path()));

Передать это аргумент

$arg = explode('/', substr(drupal_get_path_alias(request_uri(), 1), strlen(base_path())));

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top