Drupal. Ottenere alias percorso da url corrente senza argomenti cartella dell'installazione

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

  •  24-10-2019
  •  | 
  •  

Domanda

Mi piacerebbe recuperare i alias Percorso della pagina corrente senza argomenti cartella dell'installazione. Sto utilizzando:

drupal_get_path_alias(request_uri())
installazione

Ma questo restituisce / qualcosa / path / reale e voglio recuperare il effettivo / path solo non importa quale Installazione / qualunque cosa è.

Grazie in anticipo:)

È stato utile?

Soluzione

trovato. In realtà è stato un mix di entrambi i suggerimenti:

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

Grazie comunque.


Aggiornamento: la soluzione precedente non sempre funziona

Qualcuno ha suggerito di utilizzare un metodo alternativo:

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

Ma, esiste un modo di fare lo stesso senza utilizzare lo str_replace un po 'costoso?

Grazie

Altri suggerimenti

Il percorso del nodo si è in?

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

Che il codice verrà generato sulle pagine dei nodi e ti dirà l'alias pagina.

Per ulteriori informazioni, è possibile scaricare fuori $ _GET e guardare il valore della stringa di query 'q'.

Forse è possibile utilizzare base_path () e str_replace in questo modo:

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

Il base_path viene salvato nel database.

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

funziona anche

Hai provato $_GET['q']?

Io tendo a grassoccio per l'URL completo invece per evitare eventuali problemi che sorgono quando base_path () non è solo '/'.

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

o anche più semplicemente:

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

Fastest solution.

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

To pass it into an argument

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top