So konvertieren Sie URL-Aliase zurück in die Knoten-ID

8

Ich frage mich, wie man einen URL-Pfad zurück in seinen eigenen Knoten (Knoten / NID) konvertiert. Ich möchte die ursprüngliche Knoten-ID von einem bestimmten Pfad erhalten. z.B

path = "news / my-news"

..und verfolgen Sie es zurück, um seine eigene ursprüngliche URL zu erhalten, zB 65. Bitte geben Sie an. Vielen Dank.

Adamtan
quelle

Antworten:

3

GokulNK hat bereits gegeben , die Antwort zu verwenden drupal_get_normal_path(). Wenn Sie an einem Pfadalias arbeiten, der sich vom aktuellen Pfad unterscheidet, verwenden Sie diesen.

Wenn Sie den nicht aliasisierten Pfad der aktuellen Seite / des aktuellen Pfads abrufen möchten , verwenden Sie einfach $_GET['q']. Drupal-Pfad-Aliase sind mod_rewrites, aber Sie können den internen Pfad immer noch von finden $_GET['q']. Für Knotenpfade oder strukturierte Pfade und wenn Sie die Knoten-ID oder etwas anderes erhalten möchten, tun Sie dies jetzt nicht explode('/', $_GET['q']):)

Treffen arg().

  • Aliased path: content/my-new-page
  • $_GET['q']: node/69
  • arg(0) = node
  • arg(1) = 69
  • drupal_get_normal_path('content/my-new-page') (Erfordern wahrscheinlich einige DB-Trips, sofern nicht zwischengespeichert)
AyeshK
quelle
3

Sie können die Funktion drupal_get_normal_path verwenden.

Rückgabewert

Der interne Pfad, der durch den Alias ​​dargestellt wird, oder der ursprüngliche Alias, wenn kein interner Pfad gefunden wurde.

Gokul NK
quelle
0

Alle URl-Pfade werden in der Datenbank gespeichert, sodass Sie sie in admin / config / search / path konfigurieren können, unabhängig davon, ob Sie pathauto verwenden oder Ihre eigenen URL-Alises schreiben. Durch Löschen aus der Administratoreinstellung wird möglicherweise ein URL-Pfad zurück in seinen eigenen Knoten (Knoten / NID) konvertiert.

Binod Lamsal
quelle