Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drupal. Get path alias from current url without the installation's folder arguments

I'd like to retrieve the current page path alias without the installation's folder arguments. I'm using:

drupal_get_path_alias(request_uri())

But this returns installation/whatever/actual/path and I want to retrieve the actual/path only no matter what installation/whatever is.

Thanks in advance :)

like image 696
ozke Avatar asked Dec 13 '22 21:12

ozke


2 Answers

Found it. It was actually a mix of both suggestions:

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

Thanks though.


Update: the previous solution doesn't always work

Someone suggested using an alternative method:

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

But, is there any way of doing the same without using the slightly expensive str_replace?

Thanks

like image 71
ozke Avatar answered May 25 '23 06:05

ozke


The path of the node you are on?

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);
}

That code will fire on node pages and tell you the page alias.

For more information, you can dump out $_GET and look at the 'q' query string value.

like image 33
Kevin Avatar answered May 25 '23 04:05

Kevin