Drupal.Pfadalias von der aktuellen URL ohne die Ordnerargumente der Installation abrufen

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

  •  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 :)

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top