web-dev-qa-db-fra.com

Remarque: essayer d'obtenir la propriété 'nid' du non-objet

Dans Drupal\rsvplist\Form\RSVPForm-> buildForm (), j'ai écrit ceci pour obtenir le nid actuel:

$node = \Drupal::routeMatch()->getParameter('node');
$nid = $node->nid->value;

Je reçois cette erreur:

Remarque: Essayer d'obtenir la propriété 'nid' de non-objet dans Drupal\rsvplist\Form\RSVPForm-> buildForm () (ligne 30 de modules\custom\rsvplist\src\Form\RSVPForm.php).

Je suis un nouveau développeur de modules. Comment obtenir le nid actuel dans drupal 8?

1
GreenTree

Vous devrez vérifier si la variable $ node est réellement une instance d'un objet node.

if ($node instanceof \Drupal\node\NodeInterface) {
  // You can get nid and anything else you need from the node object.
  $nid = $node->id();
}

Voir

Comment puis-je obtenir l'ID de nœud actuel?

4
anoopjohn