it-swarm.com.de

Wie erhalte ich die vollständige URL einer Drupal-Seite?

Ich muss die URL der aktuellen Seite in einer Drupal-Site nutzen. Es ist egal, um welchen Inhaltstyp es sich handelt - es kann sich um einen beliebigen Knotentyp handeln.

Ich suche NICHT nach dem Pfad zum Thema oder nach der Basis-URL oder nach Drupal's get_destination. Ich bin auf der Suche nach einer Funktion oder Variable, die mir folgende Informationen liefert:

http://example.com/node/number

Entweder mit oder ohne (wahrscheinlicher) dem http://.

45
Kumiko-chan

drupal_get_destination () hat einen internen Code, der an die richtige Stelle zeigt, um den aktuellen internen Pfad abzurufen. Um diesen Pfad in eine absolute URL zu übersetzen, sollte die Funktion url () den Trick ausführen. Wenn die Option 'absolute' übergeben wird, wird die vollständige URL generiert, nicht nur der interne Pfad. Es werden auch beliebige Pfad-Aliasnamen für den aktuellen Pfad ausgetauscht.

$path = isset($_GET['q']) ? $_GET['q'] : '<front>';
$link = url($path, array('absolute' => TRUE));
53
Eaton

Das fand ich nützlich

global $base_root;
$base_root . request_uri();

Gibt Abfragezeichenfolgen zurück, die im Kern verwendet werden: page_set_cache ()

37
mikeytown2

Sie können es auch so machen:

$current_url = 'http://' .$_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI'];

Es ist ein bisschen schneller.

19
ThomasR

Versuche Folgendes:

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

Diese Methode ist alles alte Methode, in Drupal 7 können wir es sehr einfach bekommen

    current_path()

und eine andere Funktion mit kleinem Unterschied

request_path()
12
Yusef Mohamadi

Ich finde die Verwendung von Tokens ziemlich sauber. Es ist in Drupal 7 in den Kern integriert.

<?php print token_replace('[current-page:url]'); ?>
4
Yo-L

Folgendes ist mehr Drupal-ish :

url(current_path(), array('absolute' => true)); 
3
kenorb

Für Drupal 8 kannst du folgendes tun: 

$url = 'YOUR_URL';
$url = \Drupal\Core\Url::fromUserInput('/' . $url,  array('absolute' => 'true'))->toString();
0
Jitendra Mittal