Доступ к полям таксономии в ноде

Главные вкладки

Аватар пользователя Shipovnix Shipovnix 13 июля 2020 в 11:04

В ноде, помимо текстовых полей, есть поле — ссылка на термин таксономии. Как получить к доступ к его значению в функции модуля через загрузку ноды? К значениям текстовых полей ноды научился доступ получать, к терминам таксономии — нет.

<?php
function mymodule_tbroadcastmessage($token) {
  
$query = \Drupal::entityQuery('node');
  
$query->condition('status'1);
  
$query->condition('type''tbroadcast');
  
$query->condition('field_btoken'$token);
  
$query->range(01);
  
$nids $query->execute();
  
$nid current($nids);
  
$response = [];
  if (
$nid) {
    
$node_storage = \Drupal::entityTypeManager()->getStorage('node');
    
$node $node_storage->load($nid);
    
$response['field_btoken'] = $node->get('field_btoken')->value// Текстовое поле ноды
    
$response['field_cid'] = $node->get('field_cid')->value// Текстовое поле ноды
    
$response['field_term_сtoken'] = ???; // Поле — ссылка на термин таксономии
  
}
  return 
$response;
}
?>

Лучший ответ

Аватар пользователя vlucas vlucas 13 июля 2020 в 11:12
1

Правильнее так:
$node->field_btoken->value;

С термином скорее всего так:
$node->field_term_сtoken->target_id;
+ если поле может содержать несколько значений - перебирать в цикле

Эти свойства можно в отладчике просматривать или devel

Комментарии

Аватар пользователя vlucas vlucas 13 июля 2020 в 11:12
1

Правильнее так:
$node->field_btoken->value;

С термином скорее всего так:
$node->field_term_сtoken->target_id;
+ если поле может содержать несколько значений - перебирать в цикле

Эти свойства можно в отладчике просматривать или devel