Я попробовал приведенный ниже код, чтобы получить значение поля со страницы (узла), но он возвращает null

#php #drupal-8

#php #drupal-8

Вопрос:

Я попробовал приведенный ниже код, чтобы получить значение поля из моего узла страницы, но я не получаю значение, вместо этого оно возвращает null. Где я ошибаюсь?

 $node = Drupal::routeMatch()->getParameter('node');
  if ($node instanceof DrupalnodeNodeInterface) {
    $nid = $node->id();
    $node = node_load($nid);
    $datalayer['taxonomyfield'] = $node->get('field_taxonomy')->value;
  

Ответ №1:

Вы должны попробовать

 $node->get('field_taxonomy')->getValue()
  

Это обрабатывает поля с несколькими значениями и ссылки на объекты.

Вот аналогичный вопрос / ответ.

https://drupal.stackexchange.com/a/190107/75082