Wenn ich in Drupal 7 die Knoten-ID des aktuell angezeigten Knotens abrufen wollte (z. B. node/145
), konnte ich sie mit der arg()
Funktion abrufen. In diesem Fall arg(1)
würde 145 zurückgeben.
Wie kann ich dasselbe in Drupal 8 erreichen?
Der Parameter wurde von nid auf das vollständige Knotenobjekt aktualisiert, sobald Sie darauf zugreifen.
$node = \Drupal::routeMatch()->getParameter('node');
if ($node instanceof \Drupal\node\NodeInterface) {
// You can get nid and anything else you need from the node object.
$nid = $node->id();
}
Weitere Informationen finden Sie im Änderungsdatensatz .
/taxonomy/term/{tid}
?menu_get_object
?{}
in Ihre Route eingeben . Für Taxonomie Begriffe wird die Route genannt Paramatertaxonomy_term
, Routendefinition/taxonomy/term/{taxonomy_term}
. Hier können Sie es wie diese erhalten,\Drupal::routeMatch()->getParameter('taxonomy_term')
.Es ist richtig zu benutzen
\Drupal::routeMatch()->getParameter('node')
. Wenn Sie nur die Knoten-ID benötigen, können Sie verwenden\Drupal::routeMatch()->getRawParameter('node')
.quelle
Wenn Sie einen benutzerdefinierten Block verwenden oder erstellen, müssen Sie diesen Code befolgen, um die aktuelle URL-Knoten-ID abzurufen.
quelle
Hinweis: Auf der Seite mit der Knotenvorschau funktioniert Folgendes nicht:
Für die Knotenvorschau müssen Sie den Knoten folgendermaßen laden:
Wie lade ich ein Knotenobjekt in die Knotenvorschau?
quelle