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

Lesezeit: 3 Minuten

Ich muss die URL der aktuellen Seite auf einer Drupal-Site abrufen. Es spielt keine Rolle, um welchen Inhaltstyp es sich handelt – es kann jede Art von Knoten sein.

Ich suche NICHT nach dem Pfad zum Thema oder der Basis-URL oder nach get_destination von Drupal. Ich suche eine Funktion oder Variable, die mir Folgendes vollständig liefert:

http://example.com/node/number

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

  • drupal_get_destination ist die Lösung, da Sie den Domainnamen kennen und wenn Sie für dieselbe Domain codieren, können Sie ihn verwenden!

    – Bhavin Joshi

    16. April 2013 um 4:43 Uhr

  • Verwandt: Wie erhalte ich die vollständige URL der aktuellen Seite? bei Drupal SE

    – kenorb

    3. März 2015 um 23:01 Uhr

Benutzer-Avatar
Essen

drupal_get_destination() enthält einen internen Code, der auf die richtige Stelle zeigt, um den aktuellen internen Pfad abzurufen. Um diesen Pfad in eine absolute URL zu übersetzen, muss die URL() Funktion sollte den Trick tun. Wenn die Option „absolute“ übergeben wird, wird die vollständige URL generiert, nicht nur der interne Pfad. Es tauscht auch alle Pfad-Aliase für den aktuellen Pfad aus.

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

  • Laut Ihrem Link gibt drupal_get_destination() “destination=/node/number” oder für /node/number?destination=bla “destination=bla” zurück. Das Übergeben an url() scheint mir nicht zu funktionieren.

    – Axt.

    3. April 2009 um 13:23 Uhr

  • Doh. Du hast Recht. Ich habe das Snippet mit dem richtigen Code aktualisiert. Vielen Dank!

    – Essen

    3. April 2009 um 20:31 Uhr

  • Cool, aber ich muss hinzufügen: $echo link; damit eine Facebook-App funktioniert! Vielen Dank!

    Benutzer472717

    6. Februar 2011 um 18:24 Uhr


Das habe ich als nützlich empfunden

global $base_root;
$base_root . request_uri();

Gibt Abfragezeichenfolgen zurück und wird im Kern verwendet: page_set_cache()

Benutzer-Avatar
ThomasR

Du kannst es auch so machen:

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

Es ist etwas schneller.

  • Programmieren Sie immer auf eine Schnittstelle, nicht auf eine Implementierung.

    – Rimian

    13. März 2011 um 10:28 Uhr

Benutzer-Avatar
Axt.

Versuche Folgendes:

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

Benutzer-Avatar
Yuseferi

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

    current_path()

und eine weitere Funktion mit winzigem Unterschied

request_path()

  • Die Frage ist, wie man die bekommt voll URL, dh so etwas wie http://example.com/node/number .

    – Axt.

    24. September 2012 um 11:16 Uhr


Benutzer-Avatar
Yo-L

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

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

  • Die Frage ist, wie man die bekommt voll URL, dh so etwas wie http://example.com/node/number .

    – Axt.

    24. September 2012 um 11:16 Uhr


Benutzer-Avatar
kenorb

Das Folgende ist mehr Drupal-artig:

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

1297680cookie-checkWie erhalte ich die vollständige URL einer Drupal-Seite?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy