Dans Drupal 7, si je voulais obtenir l’identifiant du nœud actuellement affiché (par exemple node/145
), je pourrais l’obtenir avec la arg()
fonction. Dans ce cas, arg(1)
reviendrait 145.
Comment puis-je obtenir la même chose dans Drupal 8?
Le paramètre aura été converti de l'objet nid en objet nœud complet au moment où vous y aurez accès. Ainsi:
$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();
}
Voir l' enregistrement de modification pour plus d'informations.
/taxonomy/term/{tid}
?menu_get_object
?{}
de votre route. Pour les termes de taxonomie, on appelle le paramètretaxonomy_term
route, définition de route/taxonomy/term/{taxonomy_term}
. Ici , vous pouvez l' obtenir comme ça,\Drupal::routeMatch()->getParameter('taxonomy_term')
.Il est correct d'utiliser
\Drupal::routeMatch()->getParameter('node')
. Si vous avez juste besoin de l'ID de nœud, vous pouvez l'utiliser\Drupal::routeMatch()->getRawParameter('node')
.la source
Si vous utilisez ou créez un bloc personnalisé, vous devez suivre ce code pour obtenir l'id du nœud d'URL actuel.
la source
Remarque sur la page d'aperçu du nœud, les éléments suivants ne fonctionnent pas:
Pour la page d'aperçu du nœud, vous devez charger le nœud de la manière suivante:
Comment charger un objet noeud dans la page d'aperçu du noeud?
la source