web-dev-qa-db-ja.com

通知:非オブジェクトのプロパティ 'nid'を取得しようとしています

Drupal\rsvplist\Form\RSVPForm-> buildForm()に、現在のnidを取得するためにこれを書きました:

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

私はこのエラーを受け取ります:

注意:Drupal\rsvplist\Form\RSVPForm-> buildForm()で非オブジェクトのプロパティ 'nid'を取得しようとしています(modules\custom\rsvplist\src\Form\RSVPForm.phpの30行目)。

私は新しいモジュール開発者です。 drupal 8で現在のnidを取得する方法は?

1
GreenTree

$ node変数が実際にノードオブジェクトのインスタンスであるかどうかを確認する必要があります。

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

見る

現在のノードIDを取得するにはどうすればよいですか?

4
anoopjohn