Drupal.Pfadalias von der aktuellen URL ohne die Ordnerargumente der Installation abrufen
-
24-10-2019 - |
Frage
Ich möchte den aktuellen Seitenpfad-Alias ohne die Ordnerargumente der Installation abrufen.Ich benutze:
drupal_get_path_alias(request_uri())
Aber das gibt Installation/was auch immer/ zurück.aktuell/Pfad und ich möchte das abrufen aktuell/Pfad nur egal was Installation/was auch immer Ist.
Dank im Voraus :)
Lösung
Fand es.Es war eigentlich eine Mischung aus beiden Vorschlägen:
$current_path = drupal_get_path_alias($_GET["q"]);
Trotzdem danke.
Aktualisieren:Die vorherige Lösung funktioniert nicht immer
Jemand hat eine alternative Methode vorgeschlagen:
str_replace(base_path(), '', drupal_get_path_alias(request_uri(), 1));
Aber gibt es eine Möglichkeit, dasselbe zu tun, ohne den etwas teuren str_replace zu verwenden?
Danke
Andere Tipps
Der Pfad des Knotens, auf dem Sie sich befinden?
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);
}
Dieser Code wird auf Knotenseiten ausgelöst und teilt Ihnen den Seitenalias mit.
Für weitere Informationen können Sie $_GET ausgeben und sich den Abfragezeichenfolgenwert „q“ ansehen.
Vielleicht können Sie base_path() und str_replace wie folgt verwenden:
str_replace (base_path(), '', drupal_get_path_alias(request_uri()), 1);
Der Basispfad wird in der Datenbank gespeichert.
$current_page_url = drupal_get_path_alias( implode( '/', arg() ) );
Funktioniert auch
Hast du es versucht $_GET['q']
?
Ich neige dazu, stattdessen die vollständige URL zu verwenden, um Probleme zu vermeiden, die auftreten, wenn base_path() nicht nur „/“ ist.
$url = (($_SERVER['HTTPS'])?"https://":"http://") . $_SERVER['HTTP_HOST'] . url($_GET['q']);
oder noch einfacher:
$url = url($_GET['q'], array('absolute'=>true));
Schnellste Lösung.
substr(drupal_get_path_alias(request_uri(), 1), strlen(base_path()));
Um es in ein Argument zu übergeben
$arg = explode('/', substr(drupal_get_path_alias(request_uri(), 1), strlen(base_path())));